Как перебирать оповещения в Prometheus Alertmanager? - PullRequest
0 голосов
/ 04 февраля 2019

Я пытаюсь получить метку времени (значение StartsAt) в теле письма любого оповещения.Существует необходимость повторять оповещения, чтобы получить временную метку от элемента.Нужна помощь, как это сделать правильно, чтобы точная метка времени этого сгенерированного оповещения была собрана в описании файла yaml?

Ответы [ 2 ]

0 голосов
/ 08 февраля 2019
- alert: Alert
  for: 5m
  expr: ...
  annotations:
    timestamp: >
      time: {{ with query "time()" }}{{ . | first | value | humanizeTimestamp }}{{ end }}

Вместо того, чтобы повторять оповещения, я решил эту проблему описанным выше способом.Это работает, и я могу получить метку времени в теле письма.Приветствия.! * * 1002

0 голосов
/ 04 февраля 2019

Вот пример из документации Prometheus (для того, чтобы перебрать все оповещения): https://prometheus.io/docs/alerting/notification_examples/#ranging-over-all-received-alerts

Скопируйте и вставьте это, и замените .Annotations.summary на .startsAt.Т.е.

"{{ range .Alerts }}{{ .StartsAt }}\n{{ end }}"

Для справки, структуры данных, доступные для шаблонов уведомлений Alertmanager, документированы здесь: https://prometheus.io/docs/alerting/notifications/

...