Email alerts and SNMP traps are not sent for repeat trigger conditions
search cancel

Email alerts and SNMP traps are not sent for repeat trigger conditions

book

Article ID: 324327

calendar_today

Updated On:

Products

VMware vCenter Server

Issue/Introduction

To provide a way for users to reduce the throttling of alarms by reducing the alarms reporting frequency.

Symptoms:
  • Alarms are configured for email alerts or SNMP traps with state change triggers.
  • Initial email alerts and SNMP traps are sent.
  • Alarms are not triggered multiple times within a short time period.


Environment

VMware vCenter Server 8.0.x
VMware vCenter Server 7.0.x
VMware vCenter Server 6.7.x
VMware vCenter Server 6.5.x

Cause

The default time period for an alarm is 5 minutes and cannot be changed via the Web Client.

This means, if an alert is triggered multiple times within a 5 minute window, it will only carry out its actions once. This also results in reset rule actions being ignored if the alarm is reset within 5 minutes from when it was first triggered.

Resolution

This 5 minute frequency is expected behavior and serves as a way to prevent spamming of alarm events which could lead to an increased database size. This can result in other complications.

Workaround:
Adjust the frequency of the alarms to 0. Setting the frequency to 0 effectively disables any throttling on alarms and their actions.  

Note: Editing and saving the alarm after applying either of the workarounds below will revert the reporting frequency to its default of 5 minutes again.

To work around this issue, follow one of the options below:


Using PowerCLI

  1. Download the zipped file reset-alarm-reporting-frequency.ps1.gz, that is attached to this KB. This has been provided by VMware Engineering. 
  2. Open the script in a text editor of your choice and replace the text SPECIFY with the relevant info and save it.
For example:
$vcIP = 'VCENTER_IP'
$user = 'VCENTER_SSO_ADMIN_USERNAME'
$pass = 'VCENTER_SSO_ADMIN_PASSWORD'
$alarmName = "ALARM_NAME"

 
  1. Run the PowerCLI script.

 

Using the Database

  1. Connect to the vCenter Server database.
  1. Run the script below to get the XML required to update the alarm:
SELECT setting_data FROM vpx_alarm LIMIT 1;

You will see output similar to:

<obj xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:vim25" versionId="7.0.0.0" xsi:type="AlarmSetting"><toleranceRange>0</toleranceRange><rep
ortingFrequency>300</reportingFrequency></obj>


Note: The XML contains unique versionId values for each version of vCenter Server.
 
  1. Copy the XML content into the command below, change the reportingFrequency value to 0 and run the command:
UPDATE vpx_alarm SET setting_data='XML_FROM_STEP_3' WHERE name='ALARM_NAME';

For example, for vCenter Server 7.0 GA, this command would update the reportingFrequency of My Alarm to 0:

UPDATE vpx_alarm SET setting_data='<obj xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:
vim25" versionId="7.0.0.0" xsi:type="AlarmSetting"><toleranceRange>0</toleranceRange><reportingFrequency>0</reportingFrequency></obj>
' WHERE name='My Alarm';
 
  1. Restart the vCenter Server service using the command:
service-control --stop vmware-vpxd;service-control --start vmware-vpxd;



Attachments

reset-alarm-reporting-frequency.ps1 get_app