GCP 警报 - 如何设置正常运行时间阈值?

GCP Alerting - how to set uptime threshold?

我们正在尝试使用新的(即非旧版)GCP 仪表板为我们的 kubernetes 集群设置 GKE 正常运行时间警报。类似的警报对于 CPU/Memory utlization 工作正常,但关于正常运行时间的一些事情很奇怪。

下面显示的策略适用于我们的 prod 集群并设置 10 分钟的滚动 window 并将计数应用为聚合器函数。计数是正常运行时间分钟数。在右侧,我关闭了一项服务。您可以看到这会导致逐步变化,从 10(完全上升)逐渐下降到 0(在 10 分钟内完全下降)。当指标达到 0(即低于阈值 1)时,我们应该收到警报。

但是,计数值在 UI 中显示为“-”,而不是 0。我认为这意味着 null 还是什么?正如您在 step 函数中看到的那样,步长为 10,9,8....3,2,1 然后消失而从未变为 0。为什么计数不会变为零而是变为“-” UI?指标描述本身将其显示为 Double,因此预计它会变为 0...

我们是否有错误的指标,或者我们应该将阈值设置为低于 2 作为解决方法?或者我应该选择“Metric Absence”作为跟踪它的最佳方式?

我使用 Metric Absence 条件重现了该问题,当 Metric 在特定时间段内没有数据时会触发警报。仅当容器启动且 运行 时才会生成正常运行时间警报。另一种方案是使用自定义指标并向其添加时间序列数据。

编辑

指标缺失条件 triggers if any time series in the metric has no data for a specific duration window. Except for metrics generated by an uptime check,与 TERMINATEDDELETED Google 云资源相关的指标(虚拟机) 不考虑指标缺失策略。

要为 metric absence 条件类型创建警报策略,您需要 select 指标(kubernetes 容器 - 正常运行时间)并调整滚动中信号的时间长度 window。将滚动 window 函数设置为 count 。在 Configure alert trigger 选项中将条件类型设置为 Metric Absence。

Select 任何时间序列的警报触发器违反并触发缺席时间为 5 分钟,并通过 select 首选通知渠道类型创建警报策略。因此,如果容器没有数据,则指标缺失条件会触发,并将向相应的通知通道发送警报消息。