启动新的EC2实例时AWS CloudWatch警报

时间:2014-07-28 18:52:40

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

我想在创建实例时将CloudWatch警报应用于实例。当CPU使用率降至10%以下一整天时,警报应向电子邮件帐户发送消息。我认为实现这一目标的最佳方法是在启动实例时使用用户数据脚本。

2 个答案:

答案 0 :(得分:4)

是的,您可以使用用户数据创建 CloudWatch警报和通知

首先创建 Amazon SNS主题以接收通知。 订阅电子邮件地址以接收通知。此SNS主题可用于所有通知,因此只需创建一次。

然后,创建用户数据脚本以配置警报。我建议使用 AWS Command Line Interface (CLI) 。下面的示例假定Linux,但您可以在Windows中执行类似操作,尤其是PowerShell。

首先,抓住InstanceId:

instance=`curl -s http://169.254.169.254/latest/meta-data/instance-id/`

然后,创建警报,以便在24小时内按小时平均值计算CPU降至10%以下时触发:

  

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的情况下发送电子邮件。减少运动部件!

答案 1 :(得分:0)

John Rotenstein是对的。所需要的是创建SNS主题,订阅它,并在“CPUUtilization”度量标准上创建CloudWatch警报。为了自动执行此操作,需要在启动新实例时执行这些步骤,或者在启动新实例的基本AMI中执行这些步骤!

您可以参考AwsWinSysOps获取有关设置的快速入门指南。

  

AwsWinSysOps是一个用于监控AWS EC2的快速入门指南和软件包   使用AWS CloudWatch指标的Windows实例。