我希望在实例创建时应用CloudWatch告警。当CPU使用率连续1天低于10%时,告警应向电子邮件帐户发送消息。我认为实现这一点的最佳方法是在启动实例时使用用户数据脚本。
我希望在实例创建时应用CloudWatch告警。当CPU使用率连续1天低于10%时,告警应向电子邮件帐户发送消息。我认为实现这一点的最佳方法是在启动实例时使用用户数据脚本。
是的,您可以使用用户数据来创建CloudWatch警报和通知。
首先创建一个Amazon SNS主题以接收通知。订阅电子邮件地址以接收通知。此SNS主题可用于所有通知,因此只需要创建一次。
然后,创建一个用户数据脚本来配置警报。我建议使用AWS命令行界面(CLI)。下面的示例假定为Linux,但您也可以在Windows中进行类似操作,特别是PowerShell。
首先获取InstanceId:
instance=`curl -s http://169.254.169.254/latest/meta-data/instance-id/`
接下来,创建一个告警,当CPU平均下降到10%以下时触发,持续24小时:
aws cloudwatch put-metric-alarm --alarm-name low-cpu --alarm-description "当CPU在一天内下降到10%以下时触发告警" --metric-name CPUUtilization --namespace AWS/EC2 --statistic Average --period 3600 --threshold 10 --comparison-operator LessThanThreshold --dimensions Name=InstanceId,Value=$instance --evaluation-periods 24 --alarm-actions arn:aws:sns:us-east-1:111122223333:MyTopic --unit Percent
实际值可能需要进行调整,以获得所需结果。
或者,您可以编写一段只在实例本身运行、监控自己并发送电子邮件的脚本,而不涉及CloudWatch。这样少了很多复杂性!
AwsWinSysOps是一个快速入门指南和包,用于监视使用AWS CloudWatch指标的AWS EC2 Windows实例。