我使用Grafana v.8.3.4,启用了统一的警报系统。我想发送一个简单的基于网络钩子的警报。警报正确启动,但消息正文使用Grafana的默认go模板。
目标
我的目标是使用统一警报系统引入的模板机制正确地定制此消息。
我试过的
我在“接触点”中创建了一个自定义模板,并使用go指令在警报规则的message属性中使用特定的模板,但是根据grafana日志没有正确地找到模板。
下面是我在“联系人”菜单中定义的模板:
{{ define "msgtemplate" }}
{{ len .Alerts.Firing }} firing. {{ len .Alerts.Resolved }} resolved.
Alerts Firing valueString : {{ .Alerts.Firing.ValueString }}.
Alerts Firing : {{ .Alerts.Firing }}.
Alerts Resolved: {{ .Alerts.Resolved }}.
Alerts : {{ .Alerts }}.
Labels : {{ .Alerts.Labels }}.
Values : {{ .Alerts.Values }}.
{{ end }}下面是我引用这个模板的方式:
Summary and annotations:
AlertID = 1
Dashboard UID = OxXff5J7z
Panel ID: 2
message: {{template "msgtemplate" .}}我所期望的
我希望得到一个基于值和警报属性的自定义消息。
我得到了什么
我在grafana日志中发现了一个错误:
error in expanding template. Template \"msgtemplate\" not found模板的名称似乎是正确的。go中的字段似乎被正确地解释了;但是在“接触点”菜单中定义的模板似乎是无法到达的。你能帮我得到我错过的东西吗?非常感谢你在我的问题上提供的帮助。
发布于 2022-05-11 04:26:20
嘿,不要认为你应该把模板放在注解中。它应该放在接触点上。https://grafana.com/docs/grafana/latest/alerting/unified-alerting/message-templating/
https://stackoverflow.com/questions/70861248
复制相似问题