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

Monit: проверьте URL-адрес веб-сайта и перезапустите сервер приложений.

Я использую эту конфигурацию для мониторинга 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