Мониторинг дворняги с монитором

Я написал файл monit.d для шавок, который работает в этой версии:

check process redmine with pidfile /home/redmine/service/redmine.pid
group webservice

start program = "/usr/bin/mongrel_rails start -p 41328 -e production -d --pid /home/redmine/service/redmine.pid --user redmine --group redmine -a 127.0.0.1 -c /home/redmine/app"
stop program  = "/usr/bin/mongrel_rails stop --pid /home/redmine/service/redmine.pid  -c /home/redmine/app && rm /home/redmine/service/redmine.pid > /dev/null 2>&1"

if cpu greater 50% for 2 cycles then alert
if cpu greater 80% for 3 cycles then restart


if totalmem greater 60.0 MB for 5 cycles then restart
if loadavg (5min) greater 4 for 8 cycles then restart

if 3 restarts within 5 cycles then timeout


$ Checking monit control file syntax...
$ Control file syntax OK

Я хочу также отслеживать HTTP-ответ, поэтому я добавляю эту строку в конце:

if failed port 41328 protocol http with timeout 10 seconds then restart

Теперь Монит жалуется:

$ Checking monit control file syntax...
$ /etc/monit.d/redmine:16: Error: exceeded maximum number of program arguments 'http'
$ ERROR: CHECK MONIT CONFIG FILE SYNTAX

Как правильно контролировать порт?

РЕДАКТИРОВАТЬ: я наконец нашел свою ошибку: я случайно не поставил закрывающие кавычки в конце строки "Остановить программу" выше. Теперь я исправил это в вопросе, а также на моем сервере.

2 ответа

Правильная инструкция будет:

if failed port 41328 protocol http then restart

with timeout 10 seconds применяется при запуске программы для создания ошибки после тайм-аута.

С наилучшими пожеланиями,
Жоао Мигель Невес

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

Теперь и линия порта работает без изменений:

if failed port 41328 protocol http with timeout 10 seconds then restart
Другие вопросы по тегам