首页 > 解决方案 > GCP 警报 - 如何设置正常运行时间阈值?

问题描述

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

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

在此处输入图像描述

在此处输入图像描述

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

在此处输入图像描述

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

标签: google-cloud-platformalertmetrics

解决方案


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

编辑

如果指标中的任何时间序列没有特定持续时间窗口的数据,则会触发指标缺失条件。除了正常运行时间检查生成的指标外,与TERMINATEDDELETED Google Cloud 资源 (VM) 相关的指标不考虑用于指标缺失政策。

要为指标缺失条件类型创建警报策略,您需要选择指标(kubernetes 容器 - 正常运行时间)并调整滚动窗口中信号的时间长度。将滚动窗口函数设置为 count 。在配置警报触发器选项中将条件类型设置为 Metric Absence。

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


推荐阅读