Назад | Перейти на главную страницу

Monit: Как выполнить запуск при таймауте / unmonitor?

Как выполнить скрипт в качестве последнего шага при таймауте мониторинга службы?

Моя конфигурация выглядит так:

check process php5-fpm with pidfile /var/run/php5-fpm.pid
    start program = "/usr/sbin/service php5-fpm start"
    stop program  = "/usr/sbin/service php5-fpm stop"
    if failed unixsocket /var/run/php5-fpm.sock then restart
    if 3 restarts within 5 cycles then timeout

Есть возможность отправить электронное письмо по таймауту, как это

alert address@hostname only on { timeout }

но как выполнить сценарий, например, отправить SMS по таймауту?

Вы можете просто запустить любой исполняемый файл в состоянии ошибки с помощью

if 3 restarts within 5 cycles then exec "/usr/sbin/apacheSmsRestart"

и /usr/sbin/apacheSmsRestart быть (+chmod +x /usr/sbin/apacheSmsRestart)

#!/bin/bash

# Trigger SMS with... literally anything. ;)
curl 'https://smsgateway.example.com/to/1337421337/text/hello+world'

# Do restart
/usr/sbin/service php5-fpm restart

# Exit with last call's exit code
exit $?