0

我正在编写一些应用程序(在 Go 中),它将在服务器上连续运行并执行各种任务。有些是 Web 服务,有些是带有 Thrift 接口的内部服务。还会有一些批处理。

我想监控这些进程是否正在运行,并认为我可以使用 AWS Cloudwatch 来执行此操作。

一个简单的实现如下:

启动一个单独的工作线程,我基本上每 5 分钟发布一次自定义 cloudwatch 指标,上面写着“我仍在运行”。然后我创建警报,如果每 5 分钟停止接收消息就会触发?

这类事情的最佳实践是什么?请注意,我并没有真正询问监控 Web 服务的可用性,这更微不足道。

谢谢

4

1 回答 1

0

一个建议是运行一个每 5 分钟执行一次脚本的 cron 作业。在该脚本中,您可以放置​​所有逻辑。

首先,我将发布一个指标(带有维度Count),它发送实例上运行的进程/服务的数量。如果阈值低于所需的进程/服务数量,您可以配置 Cloudwatch 以发送警报。一旦您完成了这个基本设置,您可以扩展它以发布更详细的(多个)指标。

于 2017-01-01T03:39:13.900 回答