【问题标题】:GCP Alert Filters Don't Affect Open IncidentsGCP 警报过滤器不影响公开事件
【发布时间】:2021-09-04 21:58:15
【问题描述】:

我有一条警报,我已配置为在以“错误”或“正常”以外的状态完成的云函数的执行总和大于 0(按函数名称分组)时发送电子邮件。

我定义警报的方式是:

二级聚合器是delta

问题在于,一旦警报打开,过滤器似乎不再重要,警报保持打开状态,因为它看到云功能被触发并以任何状态结束(甚至是“ok”状态)只要触发足够,就保持打开状态。

ATM 我能想到的唯一解决方案是定义一个基于日志的指标,该指标将自行计算,然后警报将基于该自定义指标而不是内置指标。

我有什么遗漏的吗?

编辑:

添加另一张图片以显示我认为可能存在的问题:

从上图中我们看到,图表不会下降到 0,而是会保持在 1,这不是其他正常事件的工作方式

【问题讨论】:

  • 我不这样,因为它会保持打开几天,直到我手动关闭它们
  • 由于在生成日志条目和日志记录接收它们之间存在延迟,误报警报可能会影响您吗?

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


【解决方案1】:

根据official documentation

“监控在观察到不再满足条件或在 7 天后仍未观察到条件仍然满足时自动关闭事件。”

这让我觉得有时条件与关闭事件无关。已确认here

“如果缺少测量值(例如,如果几分钟内没有 HTTP 请求),则策略使用最后记录的值来评估条件。”

没有 HTTP 请求并不是关闭指标的理由,因为它继续使用最后记录的值(触发指标)。

因此,对 Http 请求使用警报很好,但您需要自己关闭它们。虽然我认为如果您希望自动禁用它们,最好使用自定义指标。

【讨论】:

  • 为什么自定义指标与自动关闭不同?
  • 使用log-based 指标,您可以生成一个分布或计数器指标,它会随着您收到的状态请求的数量而增加和减少,因为它是自定义的,它会在您确定它时计算值,并且它不会使用最后收到的值。
  • 感觉就像那些来自谷歌的内置指标如果它们像自定义指标一样起作用并且如果没有数据则默认为某个零值会更有用......只有设置如果在最后 X 分钟内没有 http 请求,则值为零
  • 我不知道,我想这取决于您要警告什么。如果每次到达 HTTP 请求时都会出错,那么它在最后 X 分钟内有 0 次交互这一事实并不意味着问题已解决。最好的选择是可以选择 Monitoring 如何对丢失的测量做出反应。为此打开Feature Request 会很棒,恕我直言。
猜你喜欢
  • 1970-01-01
  • 2011-11-11
  • 1970-01-01
  • 1970-01-01
  • 2021-10-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多