在Google Cloud中24小时后在stackdriver中提醒没有收到味精

时间:2019-07-27 09:51:52

标签: stackdriver google-cloud-stackdriver

我想使用stackdriver每天两次监视kubernetes中的pod是否作为cronjob正确运行。

为此,我想在容器中发送开始消息和结束消息日志,并希望在堆栈驱动程序中创建一个警报指标,如果24小时后仍未收到这些消息,则发送电子邮件。

是否可以在堆栈驱动程序中执行此警报?

1 个答案:

答案 0 :(得分:2)

有几种方法可以做到这一点。

为了生成事件,我认为最简单的方法是检查基于CRON本身的基于日志的指标。如果您正在运行kind:CronJob,则可以使用Metrics Explorer查找资源type:GKE Container Metric: Log entries,然后按container_name进行过滤(将成为您的CronJob {{1 }})

您还可以根据类似的内容创建基于日志的指标

spec.containers.name

...并且可能在logName="projects/[PROJECT-ID]/logs/[CONTAINER-NAME]"部分中添加一个字符串以使过滤更加容易。

您还可以发布到发布/订阅主题,并在发布消息操作时发出警报。

确定指标后,只需警告spec.containers.args [1]是否持续13个小时。添加一个通知频道Any time series is absent [2],只要cron每天至少运行一次,您就会收到警报。

[1] https://cloud.google.com/monitoring/alerts/concepts-indepth#condition-types

[2] https://cloud.google.com/monitoring/support/notification-options#email