Info
Content

Configuration

Alertmanager конфигурируется через флаги и конфиг
Через флаги конфигурируются неизменяемые параметры, а через конфиг настраиваются правила подавления, роутинг и ресиверы
Routing tree editor поможет построить правильный routing tree

Чтобы зарелоадить конфиг алертменеджера во время работы, нужно послать SIGHUP или послать POST на /-/reload

Configuration file

./alertmanager --config.file=alertmanager.yml - через ключ можно указать конкретный конфиг

Конфиг пишется в YAML

  • <duration> - a duration matching the regular expression ((([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?|0), e.g. 1d, 1h30m, 5m, 10s
  • <labelname> - a string matching the regular expression [a-zA-Z_][a-zA-Z0-9_]*
  • <labelvalue> - a string of unicode characters
  • <filepath> - a valid path in the current working directory
  • <boolean> - a boolean that can take the values true or false
  • <string> - a regular string
  • <secret> - a regular string that is a secret, such as a password
  • <tmpl_string> - a string which is template-expanded before usage
  • <tmpl_secret> - a string which is template-expanded before usage that is a secret
  • <int> - an integer value

Секция global в конфиге определяет параметры которые валидны во всех других конфигурационных контекстах

Различные настройки SMTP (для email алертов)
Доступы к популярным каналам (slack, pagerduty, opsgenie, wechat or webhook)

https://prometheus.io/docs/alerting/latest/configuration/

Также тут настраиваются http (авторизация, tls, oauth), notification templates, routing tree, notification receivers, inhibition rules, mute time intervals


A route block defines a node in a routing tree and its children. Its optional configuration parameters are inherited from its parent node if not set

Every alert enters the routing tree at the configured top-level route, which must match all alerts (i.e. not have any configured matchers). It then traverses the child nodes. If continue is set to false, it stops after the first matching child. If continue is true on a matching node, the alert will continue matching against subsequent siblings. If an alert does not match any children of a node (no matching child nodes, or none exist), the alert is handled based on the configuration parameters of the current node

В этом блоке указывается куда слать алерты, разные таймауты и интервалы и прочее
А также могут быть вложенные роуты


mute_time_interval позволяет мьютить алерты в определенное время (например по выходным)


receiver - это именованная конфигурация notification интеграции
То есть там настраивается подключение к слаку, pagerduty, webhook и другим (несколько сразу), и вся эта пачка как-то именуется, а дальше по этому имени алерт передается сразу во все перечисленные каналы


matcher - это строка состоящая из трех элементов: labelname, оператор сравнения как в promql, и какая-то строка

Подробнее: https://prometheus.io/docs/alerting/latest/configuration/#matcher

No Comments
Back to top