如何解决GCP 正常运行时间指标发出不可靠的警报
尝试通过创建警报策略在 GCE 虚拟机处于关闭状态时获得警报。
指标:compute.googleapis.com/instance/uptime
资源:虚拟机实例
并进行了配置,以便在此条件不存在 3 分钟时触发警报。
为了模拟上述行为,我已经停止了虚拟机,但它没有触发警报,同时数据在警报策略图中不可见
已附加触发器配置
解决方法
当 VM 处于停止状态时,没有任何指标提供可靠的警报,这些指标是 compute.googleapis.com/instance/uptime 或监控代理的正常运行时间或 CPU 利用率指标,直到您使用 MQL 创建警报策略 - 监控查询语言。
“与 TERMINATED 或 DELETED Google Cloud 资源关联的指标不考虑用于指标缺失政策。这意味着您不能使用指标缺失政策来测试 TERMINATED 或 DELETED Google Cloud 虚拟机。” https://cloud.google.com/monitoring/alerts/types-of-conditions#metric-absence
因此,根据上述声明,我们不能对已停止的虚拟机使用 metic 缺席策略 - 因为它在停止一段时间后会进入终止状态。原因是,它仅在再次变为运行状态时才计算实例停止时间。
但是,当您使用具有相同指标集的 MQL 配置相同条件时,指标缺失策略可以正常工作。
示例:
不要通过选择资源和指标来配置条件,而是转到查询编辑器并键入以下查询以在开发环境 VM 未处于运行状态 3 分钟时获取警报。
fetch gce_instance
| metric 'compute.googleapis.com/instance/uptime'
| filter (metadata.user_labels.env == 'dev')
| group_by 1m,[value_uptime_aggregate: aggregate(value.uptime)]
| every 1m
| absent_for 180s
不确定这是否是错误,但这是我们以传统方式配置警报条件时的限制,我们可以利用 MQL 解决此问题。
,您所描述的行为不寻常。
我复制了您的案例并使用相同的指标 compute.googleapis.com/instance/uptime
和相同的设置创建了准确的警报政策。我已将所有警报转发到我的电子邮件。
不幸的是,我无法重现这种行为。在尝试了各种设置(集合、缺席时间)后,我收到了提醒电子邮件。
尝试重新设置提醒政策。如果您的目标只是监控虚拟机的状态(有响应或无响应),那么您可以使用任何其他指标,例如 cpu usage
,当虚拟机关闭(或无响应)时,这些指标将不存在。
最后,您可以在 VM 上尝试 installing monitoring agent,这将为您提供更多可用指标,从而获得有关机器的更多信息。
查看可能对您有用的 how to manage alerting policies 文档。此外,本文档还介绍了 alerting policies types 以及如何为您的用例选择合适的一个。
最终尝试创建另一个虚拟机并为其设置警报策略。如果这不起作用,您最好的办法是转到 Google IssueTracker 并提交新的错误报告,并将由产品团队处理 - 但是这可能需要一些(或很多)时间,具体取决于问题.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。