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

如何在Loki告警规则的标签/注解中添加错误日志内容并发送至Alertmanager?

Loki告警规则:将Error日志内容传入Alertmanager

要把Error日志的内容带到Alertmanager的告警通知里,核心是利用Loki告警规则中的标签变量引用,以下是修改后的可行方案:

修改后的告警规则

groups:
  - name: rate-alerting
    rules:
      - alert: ErrorLogAlert
        expr: |
          sum by (message) (
            rate({app="_development"} | json | level = "error"[1m])
          ) > 0.02
        for: 1m
        labels:
          severity: critical
          team: dev-team
          category: application-logs
        annotations:
          title: "Error日志告警触发"
          description: "检测到错误日志:{{ $labels.message }},最近1分钟内出现频率超过阈值"

关键说明

  • 表达式里的sum by (message)会按日志的message字段聚合错误日志,同时将message作为告警标签保留下来
  • 在annotations的description中,通过模板语法{{ $labels.message }}直接引用这条错误日志的具体内容
  • 如果你的日志里存储错误内容的字段不是message,替换成实际字段名即可(比如字段叫log_content,就用{{ $labels.log_content }})

注意事项

  • 确保Loki的| json解析已经正确提取出目标字段,否则无法通过标签引用
  • 若每条错误日志的内容都不同,sum by (message)会为每个唯一的错误消息生成独立告警
  • 若不需要按错误内容分组,仅需捕获错误出现的情况并获取最新日志内容,可改用last_over_time函数配合标签提取,但这种场景下按内容分组的告警更具针对性

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 12:10:57