【问题标题】:Email alert on AWS for webservice healthAWS 上有关 Web 服务运行状况的电子邮件警报
【发布时间】:2018-04-02 12:55:09
【问题描述】:
我在 AWS EC2 实例上部署了一个 Web 服务。
我还实现了一个 rest 调用 /getStatus,它以 JSON 格式返回我的服务中的模块状态,例如 DB 的连接状态、ActiveMQ 缓存状态等。
我想要一种创建自动电子邮件触发器的方法,当在回复/getStatus 休息电话时发现任何问题时会发送邮件。
我正在寻找是否可以使用 cloudwatch,但欢迎提出任何其他建议
【问题讨论】:
标签:
rest
amazon-web-services
monitoring
amazon-cloudwatch
【解决方案2】:
配置电子邮件警报的基本过程非常简单。使用此流程图开始。
如果您需要详细说明,此guide 介绍了如何在资源状态更改时设置 AWS 电子邮件警报,并包括一些额外的步骤来改进报告,使其更加用户友好并直接发送给第三方 -派对信使服务。
工作流程将如下所示:
- 创建Route53健康检查;
- Route53 初始化各个区域的健康检查节点;
- 运行状况检查器 ping 指定的 URL;
4a。如果在 10 秒内建立了 TCP 连接并且在 2 秒内检索到 HTTP 状态码 2xx 或 3xx,则状态为 OK;
或
4b。状态为FAILURE否则:TCP连接失败、TCP连接超时、HTTP状态码为4xx、5xx或页面太慢(是的,慢200响应会导致失败);
- Health Checker 节点将按照配置重试端点;
- 健康检查状态变化时触发云监控报警;
- 警报已发送到 AWS SNS 主题
- AWS SNS 通知主题订阅者
- 根据上述指南,可以应用高级配置来增强通知内容和传递方法。
我为开发 Axibase 时间序列数据库 (atsd) 的团队工作。
【解决方案3】:
我建议按照您决定的时间表(即每 5 分钟)运行一次 cloudwatch 活动。
该事件将调用 lambda 函数,该函数将调用 /getStatus 并决定是否需要发送电子邮件 - 如果需要,我会进一步建议 AWS SES 向应该得到它们的人。
使用上述工具将是“无服务器”的,而且成本很低甚至为零,并且具有不在您必须担心的实例上运行的好处。