Amazon web services 使用cloudwatch确定linux服务是否正在运行

Amazon web services 使用cloudwatch确定linux服务是否正在运行,amazon-web-services,service,amazon-cloudwatch,Amazon Web Services,Service,Amazon Cloudwatch,假设我有一个ec2实例,其中service/etc/init/my_service.conf包含内容 script exec my_exec end script 我如何监控ec2实例,以便在我的\u服务停止运行时,我可以对其进行操作?我不确定CloudWatch是否是检查服务是否正在运行的正确途径-使用Nagios解决方案会更容易 不过,您可以尝试CloudWatch自定义度量方法。您可以添加额外的代码行,这些代码发布的代码称为整数1,以每5分钟对CloudWatch自定义度量进行一

假设我有一个ec2实例,其中service
/etc/init/my_service.conf
包含内容

script
    exec my_exec
end script

我如何监控ec2实例,以便在
我的\u服务停止运行时,我可以对其进行操作?

我不确定CloudWatch是否是检查服务是否正在运行的正确途径-使用Nagios解决方案会更容易

不过,您可以尝试CloudWatch自定义度量方法。您可以添加额外的代码行,这些代码发布的代码称为整数1,以每5分钟对CloudWatch自定义度量进行一次。然后,您可以将CloudWatch警报配置为针对样本计数或总和偏离预期值等情况执行SNS通知/邮件通知

script
    exec my_exec
    publish cloudwatch custom metrics value
end script
更多信息


发布自定义指标-

您可以将自定义指标以“心跳”的形式发布到CloudWatch

  • 在服务器上通过cron运行一个小脚本来检查 进程列表,以查看my_服务是否正在运行,如果正在运行,请 对CloudWatch的
    put metric data
    调用
  • 度量可以简单到将数字“1”推到CloudWatch中的自定义度量
  • 设置CloudWatch警报,如果指标的平均值低于1,则触发该警报
  • 使报警周期>=cron运行的周期,例如,cron每5分钟运行一次,如果发现两个5分钟周期的平均值低于1,则发出报警
  • 确保您还可以处理度量未发布的情况(例如cron无法运行或整个机器死机)。如果缺少度量,您可能需要设置警报。(见此处:)
  • 请注意,定制指标将给您的AWS账单增加50美分的额外成本(对于一个指标来说不是什么大问题,但如果您想推广数百/数千个指标,等式会发生巨大变化,也就是说,很高兴知道它并非如您所期望的那样免费)
有关如何发布自定义度量,请参见此处: