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.com
e-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.