如何在Grafana 9.0警报邮件的主题中获取主机名?

huangapple go评论84阅读模式
英文:

how to get hostname in subject of Grafana's 9.0 alert mail?

问题

我尝试在 Grafana 9.0 中使用模板来创建警报邮件。
我通过在警报规则的摘要中添加 {{ $values.B0.Labels.host }} 来获取警报主机的主机名。如果我不使用任何模板,它可以正常工作。

然而,我正在使用一个模板来设置警报邮件的主题,并且需要在模板中访问主机名。

我的模板如下所示:

{{ define "xxx.email.subject" }}
{{ if .Alerts.Firing -}}[{{toUpper .Status}}:{{ len .Alerts.Firing }}] {{ .CommonLabels.alertname }}
{{ end }}
{{ if .Alerts.Resolved -}}[{{ .Status}}:{{ len .Alerts.Resolved }}]
{{ end }}
{{ end }}

我尝试添加 {{ .CommonLabels.hostname }} 和其他不同的关键字,但都没有成功。
有人能告诉我如何直接在模板中访问主机名吗?

谢谢。

英文:

I tried to use templates for alert mails in Grafana 9.0.
I get the hostname of alerting hosts in my alert mails by adding {{ $values.B0.Labels.host }} into summary of the alert rule. It works fine if i don't use any template.

However, i am using a template for the subject of my alert mails and need to access the hostname in the template.

My template looks like this:

{{ define "xxx.email.subject" }}
{{ if .Alerts.Firing -}}[{{toUpper .Status}}:{{ len .Alerts.Firing }}] {{ .CommonLabels.alertname }}
{{ end }}
{{ if .Alerts.Resolved -}}[{{ .Status}}:{{ len .Alerts.Resolved }}]
{{ end }}
{{ end }}

I tried adding {{ .CommonLabels.hostname }} and other different keywords with no avail.
Can someone tell me how i can access the hostname directly in the template?

Regards.

答案1

得分: 0

问题是我的警报没有正确连接到面板。
如果你将警报与面板连接起来,你就可以通过{{ .CommonLabels.host }}访问主机标签。当然,你应该有一个定义了标签的设置。

英文:

The problem was that my alert was not connected with a panel correctly.
If you connect an alert with a panel then you can access the host label with {{ .CommonLabels.host }}. Of course you should have a setup with defined labels for that.

huangapple
  • 本文由 发表于 2023年5月25日 21:18:54
  • 转载请务必保留本文链接:https://go.coder-hub.com/76332755.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定