Can a CloudWatch alarm be defined for a metric over many dimensions

谁说胖子不能爱 提交于 2019-12-07 07:05:10

问题


I'm using python and boto for cloudwatch metrics. I would like to be able to define an alarm for a MetricName which will be active for all the other dimensions.

For instance I have a metric in the sandbox namespace with MetricName of MemoryUsage and InstanceId of i-xxx. Is it possible to define a single alarm that will be triggered for MemoryUsage for all InstanceId dimensions?


回答1:


Yes, you can create an alarm for any single metric. In this case, the single metric has a dimension that represents all instances. Here's how you can do it in boto.

In [1]: import boto

In [2]: cw = boto.connect_cloudwatch()

In [3]: cw.list_metrics(metric_name='CPUUtilization')
Out[3]: 
[Metric:CPUUtilization,
 Metric:CPUUtilization,
 Metric:CPUUtilization,
 Metric:CPUUtilization]

In [4]: l = _

In [5]: for m in l:
   ...:     print m.name, m.dimensions
   ...: 
CPUUtilization {u'ImageId': [u'ami-1b814f72']}
CPUUtilization {u'InstanceId': [u'i-366c4354']}
CPUUtilization {}
CPUUtilization {u'InstanceType': [u'm1.large']}

You can see here that there are four separate metrics associated with the metric_name CPUUtilization. The first has a dimension of all instances that use that particular AMI, the second has a dimension for a particular instance that is now running, the fourth has a dimension of all instances of a particular type, but the third has no specified dimension. This metric represents CPUUtilization across all of my instances. So:

In [6]: m = l[2]

In [7]: m.create_alarm(name='cpu_all_instances', comparison='>', threshold=80.0, period=60, evaluation_periods=2, statistic='Average')
Out[7]: MetricAlarm:cpu_all_instances[CPUUtilization(Average) GreaterThanThreshold 80.0]

This alarm should fire if the average CPU utilization across all my instances exceeds 80% for two evaluation periods. You could also choose a different statistic, like 'Maximum', that would fire if the maximum value for CPU utilization across all instances exceeded 80% for more than 2 evaluation periods.

I don't know if you are specifically looking for MemoryUsage or if that was just an example but I don't think MemoryUsage is one of the available metrics from CloudWatch.



来源:https://stackoverflow.com/questions/13502491/can-a-cloudwatch-alarm-be-defined-for-a-metric-over-many-dimensions

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!