【问题标题】:Setting CloudWatch Alarm for multiple instances为多个实例设置 CloudWatch 警报
【发布时间】:2019-07-08 23:55:48
【问题描述】:

我正在通过 Amazon CLI 为实例配置警报。例如,当 cpu 空闲 5 分钟时触发通知。但我想为很多实例设置此警报。

通过这个 Bash 脚本,我为一个实例创建了一个警报:

aws cloudwatch put-metric-alarm --alarm-name cpu-mon --alarm-description "Alarm when CPU exceeds 70 percent" --metric-name CPUUtilization --namespace AWS/EC2 --statistic Average --period 300 --threshold 70 --comparison-operator GreaterThanThreshold  --dimensions "Name=InstanceId,Value=i-12345678" --evaluation-periods 2 --alarm-actions arn:aws:sns:us-east-1:111122223333:MyTopic --unit Percent

所以,我不知道如何使用这个脚本来选择另一个实例,或者最终在那个脚本上循环,以便选择另一个实例。

【问题讨论】:

  • 您想要为每个实例单独测量,还是像“多个实例的平均值”这样的计算指标?

标签: amazon-web-services amazon-ec2 aws-cli amazon-cloudwatch


【解决方案1】:

如果您有想要为其创建警报的实例 ID 列表,可以执行以下操作:

#!/bin/bash
instances=(instanceId1 instanceId2 etc)
for i in "${instances[@]}"; do
    aws cloudwatch put-metric-alarm \
        --alarm-name cpu-mon-${i} \
        --alarm-description "Alarm when CPU exceeds 70 percent" \
        --metric-name CPUUtilization \
        --namespace AWS/EC2 \
        --statistic Average \
        --period 300 \
        --threshold 70 \
        --comparison-operator GreaterThanThreshold  \
        --dimensions "Name=InstanceId,Value=${i}" \
        --evaluation-periods 2 \
        --alarm-actions arn:aws:sns:us-east-1:111122223333:MyTopic \
        --unit Percent
done

您最初也可以使用 AWS CLI 根据标签、实例名称等获取实例 ID,然后使用它们按照相同的方式创建警报。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-14
    • 2021-07-15
    • 2019-04-07
    • 1970-01-01
    • 2017-04-21
    • 2023-03-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多