首页 > 解决方案 > GCP 基于日志的监控:未收到日志时触发警报

问题描述

我有一个应用程序,我正在为其设置基于日志的监控。应用程序将在完成特定任务时记录。我想确保应用程序至少每 6 小时完成一次。

我试图通过将监控配置为在指标在给定时间内保持低于 1 时触发警报来复制此规则。

不幸的是,当基于日志的指标没有收到任何日志时,它似乎表现为“没有数据”而不是值 0。

当没有收到日志时是否可以将段视为 0 以便触发警报?

我的指标图的屏幕截图: 在此处输入图像描述

警报定义的屏幕截图: 在此处输入图像描述 您可以看到我们收到了一个时间帧的日志,但随后该行消失并且没有触发警报。

标签: google-cloud-platformstackdrivergoogle-cloud-stackdrivergoogle-cloud-logginggoogle-cloud-monitoring

解决方案


尝试使用absent_for基于 MQL 的警报。

absent_fortable 操作生成一个包含两个 value 列的 table,active 和 signal 。活动列是true表输入中缺少数据时,false否则。这对于创建一个条件查询很有用,该条件查询用于在没有输入时发出警报。

例子:

 fetch  gce_instance :: compute.googleapis.com/instance/cpu/usage_time
  | absent_for 8h

推荐阅读