You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在GCP监控中为多资源合并指标配置缺数告警?

问题:跨多资源合并指标后的数据缺失检测(死信开关告警)

背景

我在GCP Monitoring中搭建了**死信开关(Dead Man's Switch)**告警策略,目的是当特定日志消息停止出现时触发通知。此前基于带client标签的日志型指标(logs-based metric),按该标签分组生成每个客户端对应的时间序列,用「数据缺失」作为告警触发条件,运行一直正常。

近期日志来源新增了不同类型的资源,需要跨这些资源合并指标,我用QML实现了合并逻辑:

{ fetch gce_instance::logging.googleapis.com/user/ping
  | group_by [metric.client], sum(val())
  | every 30m
; fetch global::logging.googleapis.com/user/ping
  | group_by [metric.client], sum(val())
  | every 30m }
| union

为了让两个序列对齐,我设置了30分钟的时间桶,这符合逻辑。导出查询结果的CSV后发现,当指标数据缺失时,对应时间桶内的时间序列值为undefined。

告警配置遇到的问题

我尝试基于上述查询创建告警,写法如下:

{ fetch gce_instance::logging.googleapis.com/user/ping
  | group_by [metric.client], sum(val())
  | every 30m
; fetch global::logging.googleapis.com/user/ping
  | group_by [metric.client], sum(val())
  | every 30m }
| union
| absent_for 1h

但查看该查询的CSV输出时,并未体现出时间序列的数据缺失情况,推测原因是undefined值不被认定为数据缺失。请问有没有办法针对跨多资源合并后的指标(已对齐)检测数据缺失?


更新1:尝试的方案

我试了下面的写法,似乎取得了一定进展,希望得到对该方案的评价:

{
  fetch gce_instance::logging.googleapis.com/user/ping
  | group_by [metric.client], sum(val())
  ;
  fetch global::logging.googleapis.com/user/ping
  | group_by [metric.client], sum(val())
}
| union
| absent_for 1h

内容的提问来源于stack exchange,提问作者commander.trout

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 10:55:19