У нас есть прослушиватель сокетов, который прослушивает порт 9000, поэтому ниже мы написали оповещение для monit. Слушатель запускается через инструмент демона yajsw. Итак, в настоящее время, когда он выходит из строя на порту 9000, мы получаем электронное письмо. Что мы хотим расширить, так это то, что если он не запущен, чтобы остановить, удалить, установить и, наконец, запустить программу. У нас есть весь сценарий к заявленным процессам, но как поставить в monit? Все это находится в файлах сценария оболочки.
check process cs9000 with pidfile /var/run/wrappercs9000.pid # check your app pid
start program =
stop program =
if failed port 9000 # if you want to check your app that listen on port 9000
then
restart
С участием Монит, вы не сможете перезапустить программу, пока не предоставите start program
и stop program
директивы. Когда вы заполните эти параметры и перезапустите Monit, вы получите возможность выполнять действия в зависимости от условий процесса.
Пример:
check process nslcd
with pidfile "/var/run/nslcd/nslcd.pid"
start program = "/sbin/service nslcd start"
stop program = "/sbin/service nslcd stop"
if 10 restarts within 11 cycles then timeout
if cpu usage > 95% for 11 cycles then restart
if totalmemory > 472 MB then restart
Если вы хотите, чтобы «программа остановки» запускала сценарий, укажите полный путь к сценарию.