У меня есть кластер kubernetes, и для мониторинга и оповещений я использую Prometheus. Диспетчер предупреждений Prometheus повторяет предупреждения, пока они не станут активными. Я хочу настроить свой диспетчер предупреждений на отправку предупреждения только один раз в резервное копирование и повторение предупреждения только в случае изменения состояния предупреждения.
Я пробовал генерировать оповещения только на определенное время следующим образом
(kube_pod_container_status_restarts_total> 3) * ((time ()% 86400/3600> bool 3) == bool (time ()% 86400/3600 ‹bool 4))
но это не сработало для меня
Конфигурация сервера Prometheus выглядит следующим образом:
prometheus-server.yml
alert: PodRestartAlert
expr: kube_pod_container_status_restarts_total >3
for: 5m
labels:
severity:
annotations:
description: ""
summary: 'The pods that are restarted more than 3 times'
Конфигурация Alertmanager следующая:
global:
slack_api_url: "http://"
receivers:
- name: default-receiver
slack_configs:
- channel: '#abc'
text: Prometheus Alert generated
route:
group_by:
- alertname
- datacenter
- app
group_interval: 5m
receiver: default-receiver
repeat_interval: 0
Я пытаюсь добиться чего-то, как показано ниже:
Если изначально есть 10 подов, которые были перезапущены более 3 раз, то он должен выдать предупреждение только один раз для слабины.
Если через день или два количество перезапущенных модулей увеличится только до 20, тогда диспетчер предупреждений должен выдать предупреждение, чтобы убрать это тоже только один раз.
Любые предложения о том, что я могу попробовать или изменить, будут большим подспорьем.
Заранее спасибо!