У меня есть кластер kubernetes, и для мониторинга и оповещений я использую Prometheus.Менеджер предупреждений Prometheus продолжает повторять предупреждения, пока они не станут активными.Я хочу настроить свой менеджер оповещений так, чтобы он отправлял оповещение только один раз, и повторял оповещение только в случае изменения состояния оповещения
Я пытался генерировать оповещения только для определенного времени, как указано ниже
(kube_pod_container_status_restarts_total> 3) * ((time ()% 86400/3600> bool 3) == bool (time ()% 86400/3600
, но это не сработалодля меня
Конфигурация сервера 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только тогда, когда менеджер предупреждений должен выдать предупреждение, чтобы оно ослабло, тоже только один раз
Любые предложения о том, что я могу попробовать или изменить, будут очень полезны
Заранее спасибо!