Google 由于阈值持续时间而监视 AlertPolicies 通知垃圾邮件

Google Monitoring AlertPolicies notification spam due to threshold duration

使用 GCP 监控时,我想根据 GCP 正常运行时间检查指标设置警报。 我的警报在 1 分钟的持续时间内使用高于 1 的阈值。

我的问题是,由于持续时间很短,当时间序列很尖锐时,我收到通知的垃圾邮件。 但我确实想保持较短的持续时间,以便快速获得第一个通知。

即在下图中:

我在 8:21(1 分钟后)超过阈值时收到第一个警报通知,太好了! 但随后我将在 8:22 收到已解决的通知,在 8:23 收到新的警报通知,最后在 8:28.

收到已解决的通知

所以当我只想收到 2 条通知时,我收到了 4 条通知。 我错过了设置阈值持续时间以触发警报和另一个阈值持续时间以解决事件的选项。对于我的情况,我会设置 1 分钟的持续时间来触发,只有 10 分钟的时间来解决它。

有人可以帮助解决这个问题吗?

感谢您的帮助!

我认为您无法通过 GCP 警报策略实现您想要的。

为了更好地理解,我建议阅读 Alerting behavior

简而言之,GCP 警报策略中的 Period 是:

The alignment period is a look-back interval from a particular point in time. For example, when the alignment period is five minutes, at 1:00 PM, the alignment period contains the samples received between 12:55 PM and 1:00 PM. At 1:01 PM, the alignment period slides one minute and contains the samples received between 12:56 PM and 1:01 PM.

Duration 是值超过阈值的时间。但是,还有一个重要信息:

A condition resets its duration window each time a measurement doesn't satisfy the condition. This behavior is illustrated in the following example:

如果我根据您的评论理解,您希望在 8:21 处收到 Alert 通知,在 8:28 处收到 RESOLVED 通知。

但是,您设置 Period 1 分钟,Duration 也设置 1 分钟。 Policy Algorithm 将此视为 2 个独立的事件,因为它们都满足所有条件。最后一分钟,价值阈值高于阈值。

  • 第 1 次事件:~08:19:40 AM 到~08:21:05 AM - 因此值高于阈值的持续时间高于 1 分钟(~1'25s)
  • 第二次事件:~08:21:50 AM 到 08:27:30 AM - 这里值高于阈值的持续时间也超过 1 分钟(~5'40s)

所以这两个警报都是针对您的配置的。在 Incidents for metric-based alerts

中有描述

An incident is a record of the triggering of an alerting policy. Cloud Monitoring opens an incident when a condition of an alerting policy has been met. The incident contains information you can use to investigate the cause of the alert.

您询问的功能可能在某些第 3 方软件监控工具中实现,但此处未实现。

我唯一想到的就是更改 duration/period 以减少误报。

youtube 上有一个很好的视频解释了警报政策 - here 自 5:39。

总的来说:

  • 每次遇到condition/sis/are时都会生成警报,如Introduction to alerting
  • 中所述
  • 不能有 1 个警报包含两个已发生的事件。每个事件都会触发警报。