Go语言 Grafana Alerting -根据警报标签设置电子邮件主题

yftpprvb  于 2023-09-28  发布在  Go
关注(0)|答案(2)|浏览(157)

我正在尝试将动态主题包含到我的Grafana(Grafana v9.5.0,datasource - Logstash)警报中。目标是使主题类似于:“$serviceName失败...”。我试图通过警告标签(例如:包括标记subject:serviceName}或从警报注解、描述或基本上任何内容获取主题。
到目前为止,我尝试了几个不同的模板脚本:
{{ define "email.subject" }} Service is failing in SYST env - {{ .Alert.Labels }} {{ end }}
{{ define "email.subject" }} {{- range .Alerts.Labels }}{{ .Name }}={{ .Value }} {{ end }} {{- range $k, $v := .Values }} {{ $k }}={{ $v }}{{ end }} {{ end }}
没有一个像预期的那样工作。通常我会得到空主语或(无主语)。我试着阅读Grafana文档,但是没有找到任何关于这个用例的具体内容。
任何帮助或链接到更多的信息/例子将不胜感激。欢呼

93ze6v8z

93ze6v8z1#

我不是go模板的Maven,但我觉得range .Alerts.Labels是不正确的方法:.Alerts是一个数组,没有.Labels属性。
你应该试

  1. {{ range .Alerts }}
  2. {{ range .Labels }}
  3. {{ .Name }}={{ .Value }}
  4. {{ end }}
  5. {{ end }}
b4qexyjb

b4qexyjb2#

感谢您的帮助,它有助于达到最终的模板,看起来像这样:

  1. {{ define "email.subject" }}
  2. {{ range .Alerts }}
  3. {{ $alert := . }}
  4. {{ range .Labels.SortedPairs }}
  5. {{ if eq .Name "service" }}
  6. Service - {{ .Value }} failing with status - 500;
  7. {{end}}
  8. {{ end }}
  9. {{ end }}
  10. {{ end }}

相关问题