Excessive events can cause performance issues in Spectrum

book

Article ID: 195716

calendar_today

Updated On:

Products

CA Spectrum CA eHealth

Issue/Introduction

Excessive events can cause performance issues in Spectrum.

Spectrum can get so busy with trying to process events that is stops responding to client requests like AlarmNotifier or OneClick causing client to switch to the econdary SpectroSERVER in a Fault Tolerant environment.

Environment

Release : Any

Component : Spectrum Core / SpectroSERVER

Resolution

You can query the ddmdb database on the SpectroSERVER system to identify the what events have been logged over a period of time, how many of the individual events were logged, what models logged the events and how many events the individual model logged.

Then, based on the output, investigate why so many events are being logged.

1. Log into the SpectroSERVER system as the user that owns the Spectrum installation

2. If on Windows, start a bash shell by running "bash -login"

3. cd to the $SPECROOT/mysql/bin directory

4. Run the following mysql commands:

    a. To find out what events have been logged and how many, run the following mysql command changing the start/end date/time as needed:

./mysql --defaults-file=../my-spectrum.cnf -uroot -proot ddmdb -e "SELECT hex (type), count(*) as count from event where utime > UNIX_TIMESTAMP('2020-07-20 00:00:00') and utime < UNIX_TIMESTAMP('2020-07-21 00:00:00') group by type order by count desc;" 

    b. From the output of the above command, the first column of data will specify the hex value of the event id. Replace <EVENT_ID> in the below command with this value and set the start/end date/time to the same value to find out what models logged that event during the same time period and how many times that model logged the event:

./mysql --defaults-file=../my-spectrum.cnf -uroot -proot ddmdb -e " SELECT hex(model_h), count(*) as count from ddmdb.event where utime > UNIX_TIMESTAMP('2020-07-20 00:00:00') and utime < UNIX_TIMESTAMP('2020-07-21 00:00:00') and hex (type)=<EVENT_ID> group by hex(model_h) order by count desc;" 

    c. Run the following mysql command to get an overall list of events logged by what models and how many were logged by the model over the time period specified:

./mysql --defaults-file=../my-spectrum.cnf -uroot -proot ddmdb -e "select hex( type ), hex( e.model_h ), m.model_name, count( * ) as cnt from event e, model m where e.model_h = m.model_h and utime > UNIX_TIMESTAMP('2020-07-20 00:00:00') and utime < UNIX_TIMESTAMP('2020-07-21 00:00:00') group by type, e.model_h order by cnt desc;"