警报操作-如何在AWS CloudWatch Put-metric-alarm命令中终止实例-AWS CloudWatch CLI命令

时间:2019-09-03 19:27:11

标签: aws-cli amazon-cloudwatch

我有以下命令会创建警报。唯一的事情 未设置为在实例处于警报状态时终止EC2实例。

我认为我没有正确陈述以下内容:

--actions-enabled --alarm-actions ec2:terminate 

这是我的完整CLI命令:

aws cloudwatch put-metric-alarm --actions-enabled --alarm-actions ec2:terminate --alarm-name "High-CPU" --alarm-description "CPU has exceeded 70" --metric-name CPUUtilization --namespace AWS/EC2 --statistic Maximum --period 60 --threshold 70 --comparison-operator GreaterThanThreshold  --dimensions Name=InstanceId,Value=$INSTANCE_ID --evaluation-periods 2 --unit Percent --alarm-actions arn:aws:sns:us-east-2:499000881936:Alarm-test

感谢您的输入!

1 个答案:

答案 0 :(得分:1)

  • --actions-enabled是默认设置,因此您不需要它。
  • 终止操作的正确值为arn:aws:automate:REGION:ec2:terminate,例如arn:aws:automate:us-east-2:ec2:terminate
  • --alarm-actions包含值列表,因此您需要一个带有两个值的参数。

将它们放在一起:

aws cloudwatch put-metric-alarm \
--alarm-name "High-CPU" \
--alarm-description "CPU has exceeded 70" \
--metric-name CPUUtilization \
--namespace AWS/EC2 \
--statistic Maximum \
--period 60 \
--threshold 70 \
--comparison-operator GreaterThanThreshold  \
--dimensions Name=InstanceId,Value=$INSTANCE_ID \
--evaluation-periods 2 \
--unit Percent \
--alarm-actions arn:aws:sns:us-east-2:499000881936:Alarm-test arn:aws:automate:us-east-2:ec2:terminate