AWS上的电子邮件警报,用于Web服务运行状况

时间:2018-04-02 12:55:10

标签: rest amazon-web-services monitoring amazon-cloudwatch

我在AWS EC2实例上部署了一个Web服务。 我还实现了一个休息调用/getStatus,它以JSON格式返回我服务中模块的状态,如DB的连接状态,ActiveMQ缓存状态等。

我想要一种创建自动电子邮件触发器的方法,当/getStatus休息电话响应中发现任何问题时,它会发送邮件。

我正在寻找是否可以使用云观察,但欢迎任何其他消费

3 个答案:

答案 0 :(得分:2)

一种解决方案是让端点返回HTTP状态代码,指示某些内容不正确(如500),然后设置Route53 Health Check with e-mail notifications(使用SNS)。

答案 1 :(得分:1)

我建议按照您决定的时间表(即每5分钟)运行一次cloudwatch活动。

该事件将调用lambda函数,该函数将进行/ getStatus调用并决定是否需要发送电子邮件 - 如果需要,我会进一步建议AWS SES将带有相应警报的自定义格式化电子邮件发送给应该得到它们的人。

使用上述工具将是“无服务器”,并且成本非常低,并且具有不在您必须担心的实例上运行的好处。

答案 2 :(得分:1)

配置电子邮件警报的基本过程非常简单。使用此流程图开始。

Route 53 alert

如果您需要详细说明,此guide涵盖了如何在资源状态更改时设置AWS电子邮件提醒,并包含一些其他步骤来优化报告,使其更加用户友好并直接发送给第三方信使服务。

工作流程如下所示:

  1. 创建 Route53运行状况检查;
  2. Route53初始化各个地区的Health Checker节点;
  3. Health Checkers ping指定的网址;
  4. 4A。如果在10秒内建立TCP连接并且在2秒内检索到HTTP状态代码2xx或3xx,则状态为确定;

    4b中。状态为 FAILURE 否则:TCP连接失败,TCP连接超时,HTTP状态代码为4xx,5xx或页面太慢(是的,慢速200响应可能导致失败);

    1. Health Checker节点将按配置重试端点;
    2. 在运行状况检查状态更改时触发云监视警报;
    3. 警报已发送至AWS SNS主题
    4. AWS SNS通知主题订阅者
    5. 可以应用高级配置来增强上述指南中的通知内容和传送方法。
    6. 我为开发Axibase时间序列数据库(atsd)的团队工作。