首页 文章

如何在服务器关闭时发送电子邮件通知?

提问于
浏览
0

在我的堆栈中,我使用EC2和NodeJS与PM2 .

PM2出现故障,服务器出现故障 .

我想为这些案例创建一个电子邮件通知 .

到目前为止我得到了什么:

  • crontab作业每10分钟对服务器执行一次ping操作,如果日志文件已关闭,则写入日志文件 .

  • CloudWatch监控该日志文件 .

  • 缺少步骤 .

  • SNS活动和订阅向我发送电子邮件 .

我的计划是安装CloudWatch代理并在其他客户的服务器上配置crontab . 将它们分组到同一个CloudWatch / SNS流中 .

我正在开发第3步:CloudWatch和SNS之间的连接 .

使用CloudWatch的向导,似乎我只能发送统计信息,例如“日志数”,而不是日志本身 .

在步骤1中创建的日志包含有关服务器关闭的数据,我想将其添加到电子邮件中 .

EDIT 这不是个人设置 . 出于某种原因,我的老板说CloudWatch是必须的 .

3 回答

  • 0

    尝试使用弹性节拍 . 它将为您提供实时服务器日志,您可以使用kibana查看,并使用sentinl插件,您可以配置和发送任何系统统计信息的任何类型的电子邮件 .

    请参考下面提到的链接:

    Elastic Beats

    Sentinl

  • 0

    我会使用与CloudWatch集成的Route 53's Health Check feature . 然后,您可以在CloudWatch中设置警报以向您发送电子邮件 . 我不认为您必须使用Route 53 for DNS才能使用它,尽管如果您使用的是Route 53,您也可以使用它来执行故障转移到其他服务器 .

    或者,如果服务器位于负载均衡器之后,则可以从Load Balancer的运行状况检查发布到CloudWatch的Healthy Hosts指标触发CloudWatch警报 .

  • 0

    You can publish a custom metric to CloudWatch in the form of a "heart beat" .

    • 在服务器上通过cron运行一个小脚本,检查进程列表以查看my_service是否正在运行,如果是,请对CloudWatch进行 put-metric-data 调用 .

    • 该指标可以像将数字"1"推送到CloudWatch中的自定义指标一样简单 .

    等等, take a look at this to keep the necessary steps: Use cloudwatch to determine if linux service is running

    这些步骤由@BestPractices列出

相关问题