我正在编写一些应用程序(在Go中),它将在服务器上连续运行并执行各种任务。一些是Web服务,另一些是具有Thrift接口的内部服务。还会有一些批处理过程。
我想监控这些进程是否正在运行,并且我可以使用AWS Cloudwatch来执行此操作。
一个简单的实现如下?:
启动一个单独的工作线程,我基本上每5分钟发布一个自定义的cloudwatch指标,表示"我还在运行"。然后我创建警报,触发消息是否每5分钟停止一次?
这类事情的最佳做法是什么?请注意,我并不是真的要求监控网络服务的可用性,这更为简单。
由于
答案 0 :(得分:0)
运行一个每5分钟执行一次脚本的cron作业的一个建议。在该脚本中,您可以放置所有逻辑。
首先,我将发布一个度量标准(使用维度executable_path="/Library/geckodriver", firefox_options=None
),该度量标准会发送实例上运行的进程/服务的数量。如果阈值低于所需的进程/服务数,则可以将Cloudwatch配置为发送警报。完成此基本设置后,您可以对其进行扩展以发布更详细(多个)指标。