Amazon CloudWatch Metric Alarm

Amazon.AmazonWebServices.UnitMonitor.MetricAlarmState (UnitMonitor)

It is a general monitor for all Metric Alarms

Knowledge Base article:

Summary

It is a general three-state monitor which is used for all Amazon CloudWatch Alarms. It is in healthy and error state according to alarm state. And it goes to warning state in case the Alarm state is 'Insufficient Data'.

Causes

Alerts are generated as a result of some Amazon CloudWatch Alarms raised by AWS.

Resolutions

Alerts arise from Amazon CloudWatch Alarms. To resolve these problems, check the appropriate Alarm.

Element properties:

TargetAmazon.AmazonWebServices.CloudWatchMetricAlarm
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeAmazon.AmazonWebServices.MonitorType.MetricAlarmThreeStateType
RemotableTrue
AccessibilityPublic
Alert Message
Amazon CloudWatch Metric Alert
The metric alarm {0} has switched to a critical state. {1}
RunAsDefault

Source Code:

<UnitMonitor ID="Amazon.AmazonWebServices.UnitMonitor.MetricAlarmState" Target="Amazon.AmazonWebServices.CloudWatchMetricAlarm" ParentMonitorID="Health!System.Health.PerformanceState" TypeID="Amazon.AmazonWebServices.MonitorType.MetricAlarmThreeStateType" Remotable="true" Priority="Normal" ConfirmDelivery="false" Accessibility="Public" Enabled="true">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Amazon.AmazonWebServices.UnitMonitor.MetricAlarmState.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="System!System.Entity"]/DisplayName$</AlertParameter1>
<AlertParameter2>$Data/Context/Property[@Name="StateReason"]$</AlertParameter2>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Healthy" MonitorTypeStateID="Healthy" HealthState="Success"/>
<OperationalState ID="Error" MonitorTypeStateID="Error" HealthState="Error"/>
</OperationalStates>
<Configuration>
<WorkFlowName>MetricAlarmStateUnitMonitor</WorkFlowName>
<StartTimeInSeconds>20</StartTimeInSeconds>
<IntervalTimeInSeconds>300</IntervalTimeInSeconds>
<AlarmArn>$Target/Property[Type='Amazon.AmazonWebServices.CloudWatchMetricAlarm']/Id$</AlarmArn>
<RegionName>$Target/Property[Type='Amazon.AmazonWebServices.Component']/RegionName$</RegionName>
</Configuration>
</UnitMonitor>