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

标签 amazon-web-services service amazon-cloudwatch

假设我有一个带有服务/etc/init/my_service.conf和内容的ec2实例

script
    exec my_exec
end script

如何监视该ec2实例,以便如果my_service停止运行,我可以对其采取行动?

最佳答案

您可以以“心跳”形式向CloudWatch发布自定义指标。

  • 在服务器上通过cron运行一个小的脚本,以检查
    进程列表,以查看my_service是否正在运行,如果正在运行,请使
    对CloudWatch的put-metric-data调用。
  • 指标可以很简单,只需将数字“1”推送到CloudWatch中的自定义指标即可。
  • 设置CloudWatch警报,该警报将在指标的平均值低于1时触发
  • 使警报的时间间隔> = cron运行的时间间隔,例如cron每5分钟运行一次,如果在两个5分钟内看到平均值低于1,则发出警报警报。
  • 确保还处理未发布指标的情况(例如,cron无法运行或整个机器死机)。您可能想设置一个警报,以防指标丢失。 (请参阅此处:AWS Cloudwatch Heartbeat Alarm)
  • 请注意,自定义指标将为您的AWS账单增加50c的额外成本(对于一个指标而言,这并不是什么大不了的事-但是,如果您要推升数百/数千个指标,则该方程会发生巨大变化-即,很高兴知道它不是免费的就像人们期望的那样)

  • 有关如何发布自定义指标的信息,请参见此处:http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/publishingMetrics.html

    关于amazon-web-services - 使用cloudwatch确定linux服务是否正在运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31839609/

    相关文章:

    c# - 将控制台应用程序转换为 Windows 服务

    java - 将服务绑定(bind)放在 onStart() 处是否不好?

    amazon-web-services - 如何在有指标数据之前创建 cloudwatch 警报?

    amazon-web-services - 如何使用 AWS Lambda 向 postman POST 请求

    ios - 为二级索引加载记录

    amazon-web-services - AWS CloudFront 现在需要备用 cname 才能拥有导致问题的安全证书

    android - Kivy Android服务在后台和自定义

    node.js - 为什么我无法使用 Lambda 函数将文件上传到 s3?

    python - 如何在python中禁用来自lambda的默认日志消息

    angular - 从 Amazon S3 下载图像 : Frontend or Backend