Configuração Monit para Apache, MySQL e Postfix

Configuração Monit para Apache, MySQL e Postfix

Pretendo habilitar o Monit em meu servidor de produção com a configuração abaixo. Sou completamente novo no Monit e gostaria de ouvir dicas de outras pessoas ou se há outras diretrizes que devo considerar para reforçar meu script de monitoramento com base em sua experiência.

Meu servidor é CentOS 5.6.

Obrigado!

#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

Responder1

Eu tenho uma linha extra na minha seção Postfix para monit:

if failed port 25 protocol smtp then restart

Dependendo do que está sendo servido pelo Apache, você pode testar uma solicitação (por exemplo, request "/monit_token") em vez de uma resposta HTTP simples. A solicitação pode ser algo que atinge seu aplicativo diretamente, em vez de apenas um arquivo estático. Novamente, depende do que você está fazendo.

Como você tem o Postfix lá, você deve considerar como os alertas do Monit irão realmente sair da caixa caso o Postfix esteja inativo. No meu caso, estou enviando o set mailserver gmail-smtp-in.l.google.come-mail para uma conta do Gmail, para não depender da funcionalidade do meu próprio servidor de e-mail para receber e-mails de alerta. Também tenho um filtro do Gmail que encaminhará a mensagem de alerta para um gateway SMS, então recebo uma mensagem de texto.

Eu também tenho algo parecido com esta configuração:

check file alerttest with path /.monit_is_running
  alert [email protected] with reminder on 1440 cycles

Não há arquivo /.monit_is_running, então esse alerta sempre será acionado uma vez por dia. Este é um batimento cardíaco para o próprio monit, então eu sei que ele está funcionando (uma espécie de coisa de "quem observa os observadores"). Na verdade, essa é uma ideia que recebi de alguém do Serverfault, mas não me lembro de quem foi.

informação relacionada