Configuración de Monit para Apache, MySQL y Postfix

Configuración de Monit para Apache, MySQL y Postfix

Planeo habilitar Monit en mi servidor de producción con la siguiente configuración. Soy completamente nuevo en Monit y quería recibir sugerencias de otras personas o si había otras directivas que debería considerar para reforzar mi script de monitoreo según su experiencia.

Mi servidor es CentOS 5.6.

¡Gracias!

#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

Respuesta1

Tengo una línea extra en mi sección Postfix para monit:

if failed port 25 protocol smtp then restart

Dependiendo de lo que ofrece Apache, puede realizar la prueba en una solicitud (por ejemplo, request "/monit_token") en lugar de una simple respuesta HTTP. La solicitud puede ser algo que llegue directamente a su aplicación, en lugar de simplemente un archivo estático. Nuevamente, depende de lo que estés haciendo.

Dado que tiene Postfix allí, debe considerar cómo se activarán las alertas de Monit en caso de que Postfix no funcione. En mi caso, estoy haciendo una búsqueda set mailserver gmail-smtp-in.l.google.comy enviando el correo a una cuenta de Gmail, de modo que no dependo de la funcionalidad de mi propio servidor de correo para recibir correos electrónicos de alerta. También tengo un filtro de Gmail que reenviará el mensaje de alerta a una puerta de enlace SMS, por lo que recibo un mensaje de texto.

También tengo algo como esta configuración:

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

No hay ningún archivo /.monit_is_running, por lo que esta alerta siempre se activará aproximadamente una vez al día. Este es un latido del propio monit, por lo que sé que se está ejecutando (una especie de "quién vigila a los observadores"). En realidad, esta es una idea que se me ocurrió alguien de Serverfault, pero no recuerdo quién.

información relacionada