我正在从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
因此,我看不到如何使用此脚本选择另一个实例,或者最终在该脚本上循环以选择另一个实例。
答案 0 :(得分:0)
如果您有实例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,然后使用它们沿同一行创建警报。