Как я могу сделать так, чтобы monit продолжал предупреждать меня с интервалом, пока проблема не будет исправлена? Вот пример конфигурации:
check filesystem datafs with path /dev/sda1 if space usage > 80% for 5 times within 15 cycles then alert
Вот я получу предупреждение один раз и больше не буду. Я хочу, чтобы monit не отключался, пока проблема не будет устранена.
Из man-страницы monit:
alert foo@bar with reminder on 1 cycle
Это будет повторять предупреждение каждый раз, когда проверка процесса повторяется, если он находится в состоянии сбоя (например, довольно часто). Вы можете настроить это так, чтобы он напоминал вам только час или меньше
Кажется, это установлено там, где вы должны установить место назначения для оповещения, а не в разделе проверки. Однако вы можете указать адресата оповещения для отдельных проверок / услуг, а также для глобального.
check filesystem datafs with path /dev/sda1
alert foo@bar on { resource } with reminder on 10 cycles
if space usage > 80% for 5 times within 15 cycles then alert
По умолчанию предупреждает, когда триггер совпадает, и снова, когда служба завершается успешно. Поэтому, если вы переключаетесь между 79% и 81% использования диска, вы будете получать предупреждения по достижении пороговых значений.
Однако вам нужны напоминания после срабатывания предупреждения. Вы можете использовать функция напоминания в Monit для этого.
Вот пример конфигурации от Monit:
For example if you want to be notified each tenth cycle if a service remains in a failed state, you can use:
alert foo@bar with reminder on 10 cycles
Likewise if you want to be notified on each failed cycle, you can use:
alert foo@bar with reminder on 1 cycle
Вы можете расширить свою строфу этим языком:
check filesystem datafs with path /dev/sda1
if space usage > 80% for 5 times within 15 cycles then alert
Но вам придется изменить свой глобальный set alert
выражение или измените его на уровне контрольной строфы:
set alert address@abc.net with reminder on 5 cycles