Trying to acknowledge an alarm takes a long long time or hangs and does not complete.
SQL Profiling suggested that an index would resolve the problem. Created the index and and performance was greatly improved. There is a topic in Online help with instructions on how to implement a custom index.
HOWEVER...
Upon further investigation, the ROOT of the problem in this case in particular is that the Indicator in alarm has over 500 Alarm readings that are ‘Unacknowledged’. This to date has not been seen anywhere. Here is a query to see a count of 'unacknowledged alarm against all indicators, in descending order on the count:
Though the index will provide a ‘Band-Aid’ for this, it is important to point out that there are some processes and settings that should be reviewed related to this situation:
· Running the product with the Acknowledgement Policy "Alarms reflect the alarm state of its most severe unacknowledged alarm" does not auto-acknowledge the previous alarm. This policy bears careful consideration. Has it been analyzed that this is a preferable way to deal with alarms for your environment? NOTE that a change in policy should not be made in production without a plan. Referer to the implementation guide or Bentley Professional Services for guidance with this evaluation. There are 2 policy choices:
Most recent reading - Whenever a new reading is processed for an indicator that has an unacknowledged alarm, the alarm state of the indicator is re-evaluated and either raised or lowered depending on the value of the new reading. The previous unacknowledged reading is marked as missed and the new reading, assuming it’s an alarm, becomes the reading that requires acknowledgment. In situations where the latest reading is a normal one, the indicator alarm is turned off altogether and no acknowledgment is required. Most severe unacknowledged alarm - An indicator’s alarm level can only increase in severity as subsequent more severe readings are entered. It will not be turned off or reduced in severity by a subsequent normal or less severe reading. Instead, the alarm remains in effect until all of the unacknowledged alarm readings for the indicator have been explicitly acknowledged. When new readings are entered, previously entered unacknowledged readings are not marked as missed but remain with an acknowledgment status of either “waiting for acknowledgment” or “Re-acknowledgment required”, as the case may be.
· What about consideration of what should trigger an alarm…If they are not bothering to acknowledge these alarms, are they really alarms? Is the threshold for the alarm too low? Are there processes that are not being followed?
APM Help> Customization Guide> Customization Concepts > Custom Indexes in APM
APM Help> Implementation Guide> Manintenance Settings> Indicator Settings > Setting up Acknowledgement and Failure Policies