Изменения в шаблоне менеджера оповещений Prometheus - PullRequest
0 голосов
/ 08 мая 2019

У меня есть менеджер предупреждений Prometheus, работающий с шаблоном, и я получаю тему электронной почты следующим образом

[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), только имя группы и имя экземпляра

как мне этого добиться?

1 Ответ

1 голос
/ 08 мая 2019

Вы можете заменить свой шаблон на что-то вроде этого:

{{ define "__subject" }}[{{ .Status | toUpper }} {{ if eq .Status "firing" }}:{{ .Alerts.Firing | len }}{{ end }}] {{ .GroupLabels.alertname }} ({{ .GroupLabels.group }} {{ .GroupLabels.instance }})

Не уверен, что произойдет, если метки group или instance не являются общими для всех оповещений (например, если у вас есть оповещениестрельба через несколько групп и / или экземпляров).Может быть, вы просто получите пустую строку, может быть null.Согласно некоторым кратким тестам на игровой площадке Go , может показаться, что вы можете получить <no value>.Если вы этого не хотите, вы можете поиграть с действием шаблона Go {{if }} action .

Что-то вроде

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