如何检查 AWS EC2 实例当前正常运行时间
How to check AWS EC2 instance current uptime
检查 EC2 实例正常运行时间并在例如正常运行时间超过 N 小时时发送警报的最佳方法是什么?如何使用 CloudWatch、Lambda 等默认 AWS 工具进行组织?
一种选择是使用 AWS CLI 并获取启动时间。从中计算正常运行时间并将其发送到 Cloudwatch:
aws ec2 describe-instances --instance-ids i-00123458ca3fa2c4f --query 'Reservations[*].Instances[*].LaunchTime' --output text
输出
2016-05-20T19:23:47.000Z
另一种选择是定期 运行 一个 cronjob
脚本:
- 调用
uptime -p
命令
- 将输出转换为小时
- 将结果发送到维度为
Count
的 Cloudwatch
添加cronjob
后:
- 添加 Cloudwatch 警报,当此值超过阈值或数据不足时发送警报
- INSUFFICIENT DATA 表示机器未启动
我建议研究 "AWS" 本地方法。
如果它基本上是向 Cloudwatch 发送 OS 级指标(例如可用内存、正常运行时间、磁盘使用率等...),那么这可以通过遵循指南来实现:
这会在您的 EC2 实例上安装 Cloudwatch Logs Agent。
http://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/QuickStartEC2Instance.html
这样做的好处是您可以在 Cloudwatch 日志中显示指标(请参阅显示 AWS 控制台中的 CW 日志界面的附图。)。
这是另一个可以在 CloudWatch 中完成的选项。
使用诸如 CPUUtilization 之类的东西为您的 EC2 实例创建一个警报 - 当实例为 运行.
时,您将始终获得一个值
- 设置闹钟>=0;这将确保只要实例是 运行,它就会匹配。
- 设置周期和连续周期以匹配所需的警报正常运行时间,例如,对于 24 小时,您可以将周期设置为 1 小时,将连续周期设置为 24。
- 设置当警报处于 ALARM 状态时发送通知的动作。
现在,当实例开启时间少于设定时间时,警报将处于INSUFFICIENT DATA状态。一旦开启达到正常运行时间,它将进入警报状态并发送通知。
检查 EC2 实例正常运行时间并在例如正常运行时间超过 N 小时时发送警报的最佳方法是什么?如何使用 CloudWatch、Lambda 等默认 AWS 工具进行组织?
一种选择是使用 AWS CLI 并获取启动时间。从中计算正常运行时间并将其发送到 Cloudwatch:
aws ec2 describe-instances --instance-ids i-00123458ca3fa2c4f --query 'Reservations[*].Instances[*].LaunchTime' --output text
输出
2016-05-20T19:23:47.000Z
另一种选择是定期 运行 一个 cronjob
脚本:
- 调用
uptime -p
命令 - 将输出转换为小时
- 将结果发送到维度为
Count
的 Cloudwatch
添加cronjob
后:
- 添加 Cloudwatch 警报,当此值超过阈值或数据不足时发送警报
- INSUFFICIENT DATA 表示机器未启动
我建议研究 "AWS" 本地方法。
如果它基本上是向 Cloudwatch 发送 OS 级指标(例如可用内存、正常运行时间、磁盘使用率等...),那么这可以通过遵循指南来实现: 这会在您的 EC2 实例上安装 Cloudwatch Logs Agent。 http://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/QuickStartEC2Instance.html
这样做的好处是您可以在 Cloudwatch 日志中显示指标(请参阅显示 AWS 控制台中的 CW 日志界面的附图。)。
这是另一个可以在 CloudWatch 中完成的选项。
使用诸如 CPUUtilization 之类的东西为您的 EC2 实例创建一个警报 - 当实例为 运行.
时,您将始终获得一个值- 设置闹钟>=0;这将确保只要实例是 运行,它就会匹配。
- 设置周期和连续周期以匹配所需的警报正常运行时间,例如,对于 24 小时,您可以将周期设置为 1 小时,将连续周期设置为 24。
- 设置当警报处于 ALARM 状态时发送通知的动作。
现在,当实例开启时间少于设定时间时,警报将处于INSUFFICIENT DATA状态。一旦开启达到正常运行时间,它将进入警报状态并发送通知。