поэтому оно может содержать другие данные - см пайплайн здесь https://github.com/prometheus/prometheus/blob/master/rules/alerting.go#L323
т.е. порядок:
1. выполнился запрос алерта и вернул какие-то данные
2. создался алерт в стейте Pending и выполнился темплейт для него
3. проверка можно ли перевести алерт в Firing. Если да - отправится нотиф с заранее сгенерированным темплейтом
Но вот почему тогда темплейты в слаке у вас отличаются - непонятно... Мб есть несколько промов которые шлют алерты в один алертменеджер?
да точно, есть два прома развернутые через deployment в kubernetes через promehteus-operator и да, оба настроены на один и тот же alert manager спасибо за подсказку
"выполнился запроса алерта" имеется ввиду запрос который expr ? и expr вернул данные так? то есть получается что там какое то перетирание между алертами в alert manager? на resolve? и должно быть alert message в resolved точно такое же как в firing ?
нет, я убрал 1 prometheus, и все равно получается ерунда видимо template для alert message вычисляется все таки каждый раз а не только в момент firing но при этом все равно какая то ерунда , - alert: ClickHouseDNSErrors expr: increase(chi_clickhouse_event_DNSError[1m]) > 0 annotations: identifier: "{{ $labels.hostname }}" summary: "DNS errors occurred" description: |- `increase(chi_clickhouse_event_DNSError[1m])` = {{ with printf "increase(chi_clickhouse_event_DNSError{hostname='%s',exported_namespace='%s'}[1m])" .Labels.hostname .Labels.exported_namespace | query }}{{ . | first | value }} increase должен быть 0 в template на resolved? ведь так? на картинке у меня другая ситуация expr же вычисляется на стороне prometheus? и query в description вычисляется в prometheus а не в alertmanger (который тупо алерты группирует и роутингом занимается)? даже с учетом того что increase занимается "экстраполяцией должно быть 0?
Обсуждают сегодня