如何从Prometheus中的警报中禁用注释说明

时间:2018-10-16 12:30:20

标签: kubernetes prometheus prometheus-alertmanager

我有一个正在运行的Prometheus,并由alertmanager配置了我的松弛警报。并且我能够获得带有说明的触发警报。为此,我在配置文件中添加了以下内容。

      Summary: '{{ range .Alerts }}{{ .Annotations.summary }} {{ end }}'

      Description: '{{ range .Alerts }}{{ .Annotations.description }} {{ end }}'

但是现在我的问题是,解决警报后,正在生成相同的描述。有什么方法可以禁用已解决消息的警报描述?

1 个答案:

答案 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 }}