Google cloud platform GCP正常运行时间指标给出的警报不可靠

Google cloud platform GCP正常运行时间指标给出的警报不可靠,google-cloud-platform,google-compute-engine,monitoring,stackdriver,Google Cloud Platform,Google Compute Engine,Monitoring,Stackdriver,试图通过创建警报策略在GCE VM处于关闭状态时获取警报 指标:compute.googleapis.com/instance/uptime 资源:虚拟机实例 并进行了配置,以便在该条件消失3分钟时触发警报 fetch gce_instance | metric 'compute.googleapis.com/instance/uptime' | filter (metadata.user_labels.env == 'dev') | group_by 1m, [value_uptime_agg

试图通过创建警报策略在GCE VM处于关闭状态时获取警报

指标:
compute.googleapis.com/instance/uptime

资源:虚拟机实例

并进行了配置,以便在该条件消失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
为了模拟上述行为,我已经停止了VM,但它并没有触发警报,同时在警报策略图中数据不可见

已附加触发器配置


您描述的行为是不寻常的

我复制了您的案例,并使用相同的度量
compute.googleapis.com/instance/uptime
和相同的设置创建了确切的警报策略。我将所有通知转发到我的电子邮件

不幸的是,我无法重现这种行为。在玩了各种设置(拒绝、缺勤时间)后,我收到了提醒电子邮件

请尝试重新设置警报策略。如果您的目标只是监视VM的状态(响应或否),那么您可以使用任何其他指标,例如
cpu使用率
,当VM关闭(或无响应)时,这些指标将不存在

最后,您可以在您的虚拟机上进行尝试,这将为您提供更多可用的指标,从而获得更多关于机器的信息

请看一看可能对您有用的文档。此外,本文档还描述了如何为您的用例选择合适的用例


最终尝试创建另一个VM并为其设置警报策略。如果这不起作用,你最好的办法是去提交一份新的错误报告,并由产品团队处理-但是这可能需要一些(或很多)时间,具体取决于问题。

当虚拟机处于停止状态时,没有一个指标会给出可靠的警报,它们是compute.googleapis.com/instance/uptime或监控代理的正常运行时间或cpu利用率指标,直到您使用MQL-监控查询语言创建警报策略

“度量缺勤策略不考虑与终止或删除的Google云资源关联的度量。这意味着您不能使用度量缺勤策略测试终止或删除的Google云VM。”

因此,根据上面的语句,我们不能对已停止的vm使用metic缺勤策略,因为它在停止一段时间后会进入终止状态。原因是,它只在实例再次变为运行状态时计算实例停止时间

但是,当您使用相同的度量集使用MQL配置相同的条件时,度量缺勤策略不会出现任何问题

样本:

不要通过选择resource&metric来配置条件,而是转到Query Editor并键入以下查询,以便在开发环境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解决这一问题。

您能用警报策略详细信息更新您的问题吗?警报策略详细信息:我将过滤器和组字段留空,聚合器和周期将其作为默认值(无和5分钟),当条件“缺席”3分钟时,如果“任何时间序列违反”,就会触发此条件。您的目标是什么?在VM无响应/关闭时仅获取警报?也许你只是想要一个简单的?@DeenaDhayal可以做到这一点?@WytrzymałyWiktor是的,但它仍然不能在不存在条件时发出可靠的警报。@Wojtek_B我想知道停止虚拟机是否模拟了缺少度量数据的这种行为。正如我在回答中所述,我确实重现了你的问题;当VM停止时,该指标不存在。