【问题标题】:Can a CloudWatch alarm be defined for a metric over many dimensions是否可以为多个维度的指标定义 CloudWatch 警报
【发布时间】:2012-11-10 05:58:32
【问题描述】:

我将 python 和 boto 用于 cloudwatch 指标。我希望能够为MetricName 定义一个警报,该警报将对所有其他维度都有效。

例如,我在 sandbox 命名空间中有一个指标,其中 MetricNameMemoryUsageInstanceIdi-xxx。是否可以为 all InstanceId 维度定义一个将为 MemoryUsage 触发的警报?

【问题讨论】:

    标签: amazon-web-services boto amazon-cloudwatch


    【解决方案1】:

    是的,您可以为任何单个指标创建警报。在这种情况下,单个指标具有代表所有实例的维度。这是在 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']}
    

    您可以在此处看到与 metric_name CPUUtilization 关联的四个单独的指标。第一个具有使用该特定 AMI 的所有实例的维度,第二个具有当前正在运行的特定实例的维度,第四个具有特定类型的所有实例的维度,但第三个没有指定维度。该指标代表我所有实例的 CPUUtilization。所以:

    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]
    

    如果我所有实例的平均 CPU 利用率在两个评估期超过 80%,则应触发此警报。您还可以选择不同的统计信息,例如“最大值”,如果所有实例的 CPU 利用率最大值超过 80% 超过 2 个评估期,则会触发该统计信息。

    我不知道您是专门寻找 MemoryUsage 还是这只是一个示例,但我认为 MemoryUsage 不是 CloudWatch 的可用指标之一。

    【讨论】:

    • 完美,谢谢!而且我还学到了一个很酷的 iPython 技巧。是的,内存使用指标是我创建的自定义指标。
    • 我实际上有一个后续问题,如果您愿意解决它。 w/r/t CPUUtilization 没有 InstanceId 维度:如果我正在创建该指标,我是否必须首先将 CPU 数据的 put_metric_data 用于指标 with @987654326 @ 然后把相同的数据放到没有那个维度的那个?还是有更好的方法来做到这一点?
    • 这个答案不正确!第三个指标代表所有 RDS 数据库的 CPUUtilization。它不代表 EC2 数据。转到 cloudwatch 面板并输入 CPUUtilization,您将看到每个细分市场的细分。
    • 不一定正确,取决于您的权限。确保将参数 namespace='AWS/EC2' 添加到 list_metrics 调用中。
    猜你喜欢
    • 2020-05-26
    • 1970-01-01
    • 2014-12-21
    • 2019-10-21
    • 2023-03-06
    • 2019-12-26
    • 2020-12-20
    • 1970-01-01
    • 2018-10-18
    相关资源
    最近更新 更多