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

yftpprvb  于 12个月前  发布在  Go
关注(0)|答案(2)|浏览(105)

我正在尝试将动态主题包含到我的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属性。
你应该试

{{ range .Alerts }}
  {{ range .Labels }}
    {{ .Name }}={{ .Value }}
  {{ end }}
{{ end }}
b4qexyjb

b4qexyjb2#

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

{{ define "email.subject" }}

{{ range .Alerts }}
{{ $alert := . }}
{{ range .Labels.SortedPairs }}
{{ if eq .Name  "service" }}
Service -  {{ .Value }} failing with status - 500;
{{end}}

{{ end }}
{{ end }}

{{ end }}

相关问题