I have setup a bunch of cloudwatch alarms for my service using cloudformation. All my alarms work except for the ELB alarms. They always just show insufficient data. I can go into the console and setup the alarms manually but I want to be able to use cloudformation templates to create everything. I must have an error somewhere in my json for the alarm. Here is one of them:
"ELBHighLatencyAlarm": {
"Type": "AWS::CloudWatch::Alarm",
"Properties": {
"Namespace": "AWS/ELB",
"AlarmName": { "Fn::Join" : ["", [ { "Ref" : "AWS::StackName"}, "-ELB-ELBHighLatencyAlarm"]]},
"AlarmDescription": { "Fn::Join" : ["", [ { "Ref" : "AWS::StackName"}, "-ELB-ELBHighLatencyAlarm"]]},
"ComparisonOperator": "GreaterThanThreshold",
"Threshold": "0.5",
"EvaluationPeriods": "1",
"Period": "300",
"MetricName": "Latency",
"Statistic": "Average",
"OKActions": [],
"AlarmActions": [ { "Ref": "PagerDutySNSTopicArn" } ],
"InsufficientDataActions": [ { "Ref": "PagerDutySNSTopicArn" } ],
"Dimensions": [ {
"Name": "ElasticLoadBalancer",
"Value": { "Ref": "WebServerLoadBalancer" }
}]
}
}
Do you see anything wrong with it?