【问题标题】:GCP Logs-Based Monitoring: Trigger an alert when no logs are receivedGCP 基于日志的监控:未收到日志时触发警报
【发布时间】:2021-05-14 15:02:56
【问题描述】:

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

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

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

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

我的指标图的屏幕截图:

警报定义的屏幕截图: 您可以看到我们收到了一个时间范围内的日志,但随后该行消失并且没有触发警报。

【问题讨论】:

  • 为什么不创建一个 2 个日志警报指标,这样总会收到一个数据,然后为每个创建 labels

标签: google-cloud-platform stackdriver google-cloud-stackdriver google-cloud-logging google-cloud-monitoring


【解决方案1】:

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

absent_for 表操作生成一个表,其中包含两个值列,活动和信号。当表输入中缺少数据时,活动列为true,否则为false。这对于创建条件查询很有用,用于在输入缺失时发出警报。

例子:

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

【讨论】:

  • 获取路径当然是您自己的日志记录指标。但是由于截图上的指责,我以gce cpu usage_time为例。
  • 这正是我需要的,谢谢!我没有意识到 MQL 的功能不仅仅是 UI 上显示的功能。
猜你喜欢
  • 1970-01-01
  • 2022-08-02
  • 1970-01-01
  • 1970-01-01
  • 2021-12-21
  • 2019-05-13
  • 1970-01-01
  • 2021-10-17
  • 1970-01-01
相关资源
最近更新 更多