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

GCP日志告警邮件自定义:如何展示labels\error_stack实际值?

解决GCP日志告警邮件自定义内容及变量解析问题

核心问题定位

你遇到的变量未解析问题,是因为误用了log.extracted_label前缀——这个前缀仅适用于通过日志提取规则手动提取的自定义标签,而原生日志自带的labels.error_stack字段,需要直接使用${labels.error_stack}格式引用。

具体实现步骤及示例

1. 确认日志字段的正确路径

先确认你的日志条目里labels.error_stack的层级无误,参考JSON结构示例:

{
  "labels": {
    "error_stack": "com.example.Error: xxx\nat com.example.Class.method(Class.java:123)\n..."
  },
  "timestamp": "2024-05-20T10:00:00Z"
  // 其他日志字段
}

2. 配置告警规则的Documentation字段

编辑已有的基于日志的告警规则,在「Documentation」标签页中,用Markdown编写自定义内容并正确引用变量:

## 错误告警详情
- 触发时间:${timestamp}
- 错误堆栈:
${labels.error_stack}
- 关联告警规则:${alert.name}

3. 排查变量未解析的常见原因

如果变量仍未正常解析,检查以下两点:

  • 确认告警规则的日志过滤器能正确匹配包含labels.error_stack字段的日志条目——若过滤器过滤掉该字段,变量会无法获取值
  • 变量格式需严格遵循${字段路径},不要在大括号和字段名之间加空格,比如不要写成${ labels.error_stack }

4. 测试告警效果

手动触发符合条件的日志条目,收到的告警邮件会展示实际值:

错误告警详情

  • 触发时间:2024-05-20T10:00:00Z
  • 错误堆栈:
    com.example.Error: xxx
    at com.example.Class.method(Class.java:123)
    ...
  • 关联告警规则:我的错误告警规则

额外提示

  • 如果error_stack字段嵌套在更深层级(比如jsonPayload.labels.error_stack),需调整变量路径为${jsonPayload.labels.error_stack}
  • GCP支持直接引用日志中的所有顶级字段作为变量,比如${resource.type}、${resource.labels.instance_id}等

内容的提问来源于stack exchange,提问作者Alex F

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 14:20:28