Конфигурация Monit для Apache, MySQL и Postfix

Конфигурация Monit для Apache, MySQL и Postfix

Я планирую включить 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

решение1

У меня в разделе Postfix есть дополнительная строка для monit:

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 [email protected] with reminder on 1440 cycles

Файла нет /.monit_is_running, поэтому это оповещение всегда будет срабатывать примерно раз в день. Это пульс для самого monit, поэтому я знаю, что он работает (что-то вроде "кто наблюдает за наблюдателями"). Это идея, которую я получил от кого-то на Serverfault, на самом деле, но я не помню, кто именно.

Связанный контент