英文:
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.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论