Я использую эту конфигурацию для мониторинга apache2 (ubuntu):
/etc/monit/conf.d/apache2:
check process apache with pidfile /var/run/apache2/apache2.pid
start program = "/etc/init.d/apache2 start" with timeout 60 seconds
stop program = "/etc/init.d/apache2 stop"
alert f.bozzo@3-w.it with mail-format {
from: monit@3-w.it
subject: monit alert: $SERVICE $EVENT $DATE
message: $DESCRIPTION
}
if failed port 80 protocol HTTP
request /
with timeout 7 seconds
then restart
Доступ к 'request /' приводит к странице по умолчанию ubuntu-apache: если вы можете добраться до нее, значит, Apache работает. И это нормально.
Теперь мне нужно также контролировать свой сервер приложений. Итак, у меня есть второй файл конфигурации:
check process lucee with pidfile /opt/lucee/tomcat/work/tomcat.pid
start program = "/etc/init.d/lucee_ctl start" with timeout 60 seconds
stop program = "/etc/init.d/lucee_ctl stop"
Я не знаю точно, как сказать monit запрашивать полный URI, мне нужно что-то вроде
if failed port 80 protocol HTTP
request http://www.xxxxxx123123.com/
with timeout 7 seconds
then restart
но это говорит
/etc/monit/conf.d/lucee:13: Ошибка: синтаксическая ошибка '
при перезагрузке. Любая идея?
По образцу
if failed host localhost port 80 with protocol http and request "/server-status" with timeout 25 seconds for 4 times within 5 cycles then restart
попробуйте поставить вместо
if failed host www.xxxxxx123123.com port 80 with protocol http
and request "/"
with timeout 7 seconds
then restart