Отправить оповещение, если системный сервис не работает

Я хотел бы отслеживать системный сервис на множестве хостов, на которых все работают centos. Статус можно легко получить из systemctl, но кто-нибудь знает, как отправить электронное письмо, если служба умирает (то есть состояние службы не "работает")?

Я хотел бы избежать отправки сотен электронных писем, если сервис не работает несколько часов подряд, что может означать отказ от краткосрочных заданий cron. Я бы хотел 1 письмо, если служба не работает, возможно, 1 час в час, но даже это кажется большим.

Я слышал, что Nagios, Zabbix или Kapacitor могут здесь соответствовать всем требованиям, но я не уверен, что будет лучшим решением для такого рода проблем. Любой совет будет очень полезным.

1 ответ

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

check_period 24x7
check_interval 5
retry_interval 1
max_check_attempts 10
notification_period 24x7
notification_interval 30
notification_options d,u,r   

В частности, вы можете увидеть опцию "Интервал уведомления", которая является опцией для периода времени между оповещениями по электронной почте.
Недавно я заметил, что они добавили систему подтверждения, где, если система выходит из строя, вы можете "подтвердить" ее, и она больше не будет отправлять уведомления.

Другие вопросы по тегам