amazon-web-services - 如何检查AWS EC2实例当前的正常运行时间

标签 amazon-web-services amazon-ec2 aws-cli amazon-cloudwatch uptime-monitoring

检查EC2实例正常运行时间并在例如正常运行时间超过N小时的情况下可能发送警报的最佳方法是什么?如何使用默认的AWS工具(如CloudWatch,Lambda)进行组织?

最佳答案

一种选择是使用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警报,当该值超过阈值或数据不足时,该警报将发送警报
  • 数据不足意味着机器无法启动
  • 关于amazon-web-services - 如何检查AWS EC2实例当前的正常运行时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41623356/

    相关文章:

    http - 无法访问 EC2 (AWS) 上的端口 8080

    node.js - 使用代理在 AWS S3 存储桶中托管 Angular 6 应用程序

    node.js - 如何在nodejs中使用aws-sdk同步两个s3存储桶?

    amazon-web-services - 使用 AWS CLI 递归列出 s3 存储桶内容

    amazon-web-services - 使用 AWS SES 中的模板发送带有附件的电子邮件

    amazon-web-services - 是否可以在不创建额外集群的情况下恢复 AWS ElastiCache (redis) 的数据?

    javascript - 如何通过 JavaScript 上传多个文件并保持 UI 响应?

    php - AWS Beanstalk 使用 Grunt 任务部署 Laravel

    amazon-ec2 - 无法将 HOST 文件夹挂载到 Amazon Docker 容器中?

    Windows git bash 在调用 AWS CLI 时尝试将字符串解析为文件