登录
首页 >  Golang >  Go问答

Prometheus 警报管理器模板更改

来源:stackoverflow

时间:2024-04-11 13:18:34 480浏览 收藏

学习Golang要努力,但是不要急!今天的这篇文章《Prometheus 警报管理器模板更改》将会介绍到等等知识点,如果你想深入学习Golang,可以关注我!我会持续更新相关文章的,希望对大家都能有所帮助!

问题内容

我有一个使用模板运行的普罗米修斯警报管理器,我收到的电子邮件主题如下

[firing:6] 异常网络吞吐量 (thanos group_b aws_us_b instance_191基础设施监控-prometheus-node警告)

警报名称后面的所有值都是标签。 这是模板主题代码

{{ define "__subject" }}[{{ .Status | toUpper }} {{ if eq .Status "firing" }}:{{ .Alerts.Firing | len }}{{ end }}]  {{ .GroupLabels.SortedPairs.Values | join " " }}  {{ if gt (len .CommonLabels) (len .GroupLabels) }} ({{ with .CommonLabels.Remove .GroupLabels.Names }}   {{ .Values | join " " }}   {{ end }}) {{ end }}{{ end }}

我想修改这个只是为了获得关注

[firing:6] 网络吞吐量异常(group_b instance_191) 仅组名称和实例名称

我怎样才能实现这个目标?


解决方案


您可以将模板替换为如下内容:

{{ define "__subject" }}[{{ .status | toupper }} {{ if eq .status "firing" }}:{{ .alerts.firing | len }}{{ end }}] {{ .grouplabels.alertname }} ({{ .grouplabels.group }} {{ .grouplabels.instance }})

不确定如果 groupinstance 标签在所有警报中不常见(例如,如果您跨多个组和/或实例触发警报),会发生什么。也许您只会得到一个空字符串,也许是 null。根据一些brief testing in the Go playground,看起来你可能会得到。如果您不想这样,可以使用 Go template's {{if }} action

类似的东西

{{ if .GroupLabels.group }}{{ .GroupLabels.group }}{{ end }}

今天关于《Prometheus 警报管理器模板更改》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>