我有一个正在运行的Prometheus,并由alertmanager配置了我的松弛警报。并且我能够获得带有说明的触发警报。为此,我在配置文件中添加了以下内容。
Summary: '{{ range .Alerts }}{{ .Annotations.summary }} {{ end }}'
Description: '{{ range .Alerts }}{{ .Annotations.description }} {{ end }}'
但是现在我的问题是,解决警报后,正在生成相同的描述。有什么方法可以禁用已解决消息的警报描述?
答案 0 :(得分:1)
您将需要使用模板来检查警报的状态(是触发还是已解决),然后根据该条件有条件地设置消息的内容。
例如,警报的标题字段设置如下:
{{ define "templatenamehere.title" }}
{{- .Status | title }}
{{- if eq .Status "firing" }} {{ .Alerts.Firing | len }}{{ else }} {{ .Alerts.Resolved | len }}{{ end }}
{{- printf " - " }}
{{- if gt (len .Alerts.Firing) 1 }}
{{- .CommonLabels.alertname }}
{{- else }}
{{- .CommonAnnotations.summary }}
{{- end }}
{{- end }}