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

如何在Grafana Teams联系人点中准确解析告警模板的主题与描述字段

解决Grafana Teams联系人点模板解析为空的问题

你的问题出在当前模板是将subject和description合并输出为一段文本,但Teams联系人点的「标题」和「消息」是两个独立的输入区域,无法直接从这段文本中拆分出对应的值。以下是两种可行的解决方法:

方法一:拆分独立模板

分别定义用于标题和消息的模板,然后在对应区域引用:

  1. 在Grafana通知模板中添加两个独立模板:
{{ define "teams_subject" }}
    {{ if gt (len .Alerts.Firing) 0 }}
        {{ range .Alerts }}
            {{ .Annotations.summary }}
        {{ end }}
    {{ else }}
        issue_resolved
    {{ end }}
{{ end }}

{{ define "teams_description" }}
    {{ if gt (len .Alerts.Firing) 0 }}
        {{ range .Alerts }}
            {{ .Annotations.description }}
        {{ end }}
    {{ else }}
        issue_resolved
    {{ end }}
{{ end }}
  1. 在Teams联系人点设置中:
  • 「标题」区域填写:{{ template "teams_subject" . }}
  • 「消息」区域填写:{{ template "teams_description" . }}

方法二:直接在字段中编写模板逻辑

无需单独定义模板,直接在Teams的两个输入区域中写入针对性的模板代码:

  • 「标题」区域代码:
{{ if gt (len .Alerts.Firing) 0 }}
    {{ range .Alerts }}
        {{ .Annotations.summary }}
    {{ end }}
{{ else }}
    issue_resolved
{{ end }}
  • 「消息」区域代码:
{{ if gt (len .Alerts.Firing) 0 }}
    {{ range .Alerts }}
        {{ .Annotations.description }}
    {{ end }}
{{ else }}
    issue_resolved
{{ end }}

注意事项

  • 移除原模板中**subject**: 这类前缀,Teams标题/消息只需要纯值内容,多余的前缀会导致内容不符合预期。
  • 如果存在多个触发告警,range会遍历所有告警并拼接内容,可根据需要添加分隔符(比如在range块内加<br>实现换行)。
  • 确认告警的Annotations中确实存在summary和description字段,否则会输出空值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 18:52:34