如何使用 CloudWatch 或 Stackdriver 来验证 cron 作业是否运行?

如何使用 CloudWatch 或 Stackdriver 来验证 cron 作业是否运行?

适用于该问题的一个特殊用例是我们在 AWS EC2 和 Google Cloud Compute 中拥有一些资源,并使用 cron 作业来执行夜间磁盘快照。

有没有办法使用 Stackdriver 来监控快照是否被调用,如果没有调用则发送警报?

基本上,它的运作方式类似于心跳,但每 24 小时才发送一次。

我认为一种方法是使用类似“指标缺失”的方法,但我不认为 CloudWatch 和 Stackdriver 可以执行大于 24 小时的窗口之类的操作。

其他用例是我们想要监控的任何其他特定于应用程序的 cron 作业,例如导入作业或批处理作业。

我知道还有其他服务可以处理这个问题,比如 Cronitor 或 OpsGenie 的 Heartbeats,但我正在寻找一种在同一环境中无需额外费用的方法。

答案1

Stackdriver 中当前没有预配置的指标来检查快照。

解决方法就是您提到的那个。您在 GCP 上创建的每个快照都会在日志控制台。您可以创建一个 Stackdriver基于日志的度量然后在告警策略通知您何时它不存在

同样,对于非 GCP 资源或应用程序,您仍然可以写记录在 Stackdriver 日志记录中,创建指标并在其上设置警报。

缺失的指标将允许您设置最多 25 小时的时间范围。

相关内容