Я планирую включить Monit на своем рабочем сервере с конфигурацией ниже. Я совершенно новичок в Monit и хотел бы услышать от других советы или если есть другие директивы, которые я должен рассмотреть, чтобы поддержать мой сценарий мониторинга на основе вашего опыта.
Мой сервер - CentOS 5.6.
Спасибо!
#httpd----
check process httpd with pidfile /var/run/httpd.pid
group apache
start program = "/etc/init.d/httpd start"
stop program = "/etc/init.d/httpd stop"
if failed host 127.0.0.1 port 80
protocol http then restart
if cpu > 60% for 2 cycles then alert
if cpu > 80% for 5 cycles then restart
if 5 restarts within 5 cycles then timeout
#mysqld----
check process mysqld with pidfile /var/run/mysqld/mysqld.pid
group mysql
start program = "/etc/init.d/mysqld start"
stop program = "/etc/init.d/mysqld stop"
if failed host 127.0.0.1 port 3306 then restart
if cpu > 60% for 2 cycles then alert
if cpu > 80% for 5 cycles then restart
if 5 restarts within 5 cycles then timeout
#postfix----
check process postfix with pidfile /var/spool/postfix/pid/master.pid
start program = "/etc/init.d/postfix start"
stop program = "/etc/init.d/postfix stop"
if cpu > 60% for 2 cycles then alert
if cpu > 80% for 5 cycles then restart
if 5 restarts within 5 cycles then timeout
У меня есть дополнительная строка в моем разделе Postfix для мониторинга:
if failed port 25 protocol smtp then restart
В зависимости от того, что обслуживает Apache, вы можете протестировать запрос (например, request "/monit_token"
) вместо простого ответа HTTP. Запрос может быть чем-то, что напрямую попадает в ваше приложение, а не просто статическим файлом. Опять же, это зависит от того, что вы делаете.
Поскольку у вас есть Postfix, вам следует подумать о том, как на самом деле будут появляться предупреждения Monit, если Postfix не работает. В моем случае я делаю set mailserver gmail-smtp-in.l.google.com
и отправка почты на учетную запись gmail, так что я не полагаюсь на функциональность моего собственного почтового сервера, чтобы получать оповещения по электронной почте мне. У меня также есть фильтр Gmail, который пересылает предупреждающее сообщение на шлюз SMS, поэтому я получаю текст.
У меня тоже есть примерно такая конфигурация:
check file alerttest with path /.monit_is_running
alert xxx@gmail.com with reminder on 1440 cycles
Нет файла /.monit_is_running
поэтому это предупреждение всегда срабатывает примерно раз в день. Это сердцебиение для самого монитора, поэтому я знаю, что он работает (что-то вроде того, «кто наблюдает за наблюдателями»). На самом деле это идея, которую я получил от кого-то на Serverfault, но я не помню, кто из них.