Monit, monitorizar servicios y levantarlos en caso de que fallen

Monit, es una herramienta opensource, que monitoriza los servicios que se le indiquen y si en algún momento alguno de estos falla es capaz de levantarlos. Siendo así una herramienta muy útil para tener los servicios críticos levantados continuamente. No es una herramienta de monitorización como puede ser Nagios o observium.

Su instalación y configuración son muy sencillas.

Instalación

Instalar monit

apt install monit

Configurar monit

vim /etc/monit/monitrc

Configurar parámetros de credenciales y de donde está escuchando

 set httpd port 2812 and
    use address 0.0.0.0  # Para que escuche en todas IP
    allow 0.0.0.0/0.0.0.0  # Para que se pueda acceder desde cualquier IP
    allow admin:monit      # Usuario y contraseña por defecto
    allow @monit           # Permitir a los usuarios del grupo monit
    allow @users readonly  # Los usuarios de "users" solo tienen permisos de readonly

Configurar los parámetros para que monitorice servicios. Estos son unos ejemplos de los servicios mas habituales pero se puede poner cualquiera. Hay que indicar donde está el pid (/var/run/<servicio)

# APACHE
check process apache with pidfile /var/run/apache2/apache2.pid
    start program = "/etc/init.d/apache2 start" with timeout 60 seconds
    stop program  = "/etc/init.d/apache2 stop"

#MySQL
check process mysqld with pidfile /var/run/mysqld/mysqld.pid
    start program = "/etc/init.d/mysql start"
    stop program = "/etc/init.d/mysql stop"

#SSH
check process sshd with pidfile /var/run/sshd.pid
    start program = "/etc/init.d/ssd start"
    stop program = "/etc/init.d/ssh stop"

Comprobar la sintaxis del archivo de configuración

monit -t

Recargar el servicio de monit para que se apliquen los cambios

monit reload

Y por último acceder por vía web para ver el estado de los servicios

<IP>:2812

Como se puede apreciar es muy fácil de configurar y muy útil para poder “despreocuparse” de servicios críticos que tienen que estar siempre levantados.

Leave a Reply

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *