【问题标题】:GCP Uptime Metric is giving unreliable alertsGCP 正常运行时间指标发出不可靠的警报
【发布时间】:2021-01-11 12:42:31
【问题描述】:

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

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

资源:虚拟机实例

并进行了配置,以便在此条件不存在 3 分钟时触发警报。

为了模拟上述行为,我已经停止了 VM,但它没有触发警报,同时数据在警报策略图中不可见

已附加触发器配置

【问题讨论】:

  • 您能否使用提醒政策的详细信息更新您的问题?
  • 警报策略详细信息:我将过滤器和组字段留空,聚合器和期间将其保留为默认值,即(无和 5 分钟),如果“违反任何时间序列”,则会触发此条件当条件“不存在”“3 分钟”时。
  • 你的目标是什么?只是在虚拟机无响应/关闭时收到警报?也许你只想要一个简单的uptime check

标签: google-cloud-platform google-compute-engine monitoring stackdriver


【解决方案1】:

当虚拟机处于停止状态时,没有任何指标会提供可靠的警报,这些指标是监控代理的 compute.googleapis.com/instance/uptime 或 uptime 或 CPU 利用率指标,直到您使用 MQL - 监控查询创建警报策略语言。

“与 TERMINATED 或 DELETED Google Cloud 资源关联的指标不考虑用于指标缺失政策。这意味着您不能使用指标缺失政策来测试 TERMINATED 或 DELETED Google Cloud VM。” https://cloud.google.com/monitoring/alerts/types-of-conditions#metric-absence

所以按照上面的说法,我们不能对停止的vm使用metic缺席策略——因为它在停止一段时间后进入终止状态。原因是,它仅在实例再次变为运行状态时才计算实例停止时间。

但是,当您使用具有相同指标集的 MQL 配置相同条件时,指标缺失策略可以正常工作。

示例:

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

【讨论】:

    【解决方案2】:

    您所描述的行为不寻常。

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

    很遗憾,我无法重现此行为。在玩了各种设置(聚合、缺勤时间)后,我收到了提醒电子邮件。

    尝试重新设置提醒政策。如果您的目标只是监控虚拟机的状态(响应或不响应),那么您可以使用任何其他指标,例如 cpu usage,当虚拟机关闭(或无响应)时,这些指标将不存在。

    最后,您可以在您的 VM 上尝试installing monitoring agent,这将为您提供更多可用指标,从而获得有关机器的更多信息。

    查看how to manage alerting policies 可能对您有用的文档。此外,本文档还描述了alerting policies types 以及如何为您的用例选择合适的。

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

    【讨论】:

    • @WytrzymałyWiktor 是的,但是当条件不存在时它仍然没有提供可靠的警报。@Wojtek_B 我想知道停止 VM 是否会模拟这种缺乏度量数据的行为。
    • 如我的回答中所述 - 我确实重现了您的问题;在 VM 停止时,该指标不存在。
    猜你喜欢
    • 2021-11-08
    • 2021-09-14
    • 2021-02-24
    • 2020-09-22
    • 2014-01-31
    • 1970-01-01
    • 1970-01-01
    • 2021-01-19
    • 2020-11-20
    相关资源
    最近更新 更多