Umbrales y notificaciones por correo en Munin
Para finalizar, por lo menos de momento, con las entradas sobre Munin, hoy os voy a explicar cómo he aprendido a modificar los umbrales de alertas de los diferentes plugins, además de cómo habilitar las notificaciones por correo.
Antes de continuar recuerda que hemos hablado de los conceptos básicos sobre Munin y cómo añadir un nuevo cliente.
Modificar umbrales de plugins en Munin
Como es habitual en los sistemas de monitoreo, nos encontramos con dos tipos de alertas, las «WARNING«, que digamos son menos graves, pero nos avisan que empezamos a tener un problema; y las «CRITICAL«, que como indica el nombre, es que el problema empieza a ser importante.
Tanto en el nodo master como en los clientes, existe la carpeta /etc/munin/plugin-conf.d/
, donde se encuentra la configuración de los plugins. De todos los ficheros, el más importante es el llamado munin-node
. En este se encuentran indicados la mayoría de umbrales, como por ejemplo los del plugin df
, que se encarga de controlar el uso de los discos:
[df*] env.warning 90 env.critical 95 env.exclude_re ^/run/user
Podemos modificar los umbrales a nuestro gusto. De hecho, yo los he modificado en ambos nodos, para así probar el envío de las notificaciones.
También podemos comprobar los resultados actuales de un plugin, utilizando el comando munin-run
, de la siguiente manera:
davidochobits@munin1:~$ sudo munin-run df _run.value 10.2120328132036 _dev_sda1.value 8.35029294867089 _dev_shm.value 0 _run_lock.value 0 _sys_fs_cgroup.value 0
Para una información amplia sobre la configuración de un plugin, podemos utilizar el parámetro config
, por ejemplo munin-run df config
.
davidochobits@munin1:~$ sudo munin-run df config graph_title Disk usage in percent graph_args --upper-limit 100 -l 0 graph_vlabel % graph_scale no graph_category disk _run.label /run _run.warning 5 _run.critical 10 (...)
Cada vez que hagamos un cambio hay que reiniciar el servicio:
sudo systemctl restart munin-node
Habilitar las notificaciones por correo en Munin
Una de las ventajas de los sistemas de monitoreo, es estar siempre al tanto de los posibles problemas que tenemos en la infraestructura. Ya sea consultando directamente el producto en un navegador web o bien recibiendo notificaciones por correo.
El servidor que estoy utilizando como bien sabéis, lo tengo en un VPS con mi proveedor de confianza Clouding.io. Es importante, en el caso de este proveedor, que nos vayamos primeramente al panel de control, y habilitemos el envío de correo vía SMTP para este host:
Esto lo haremos desde la sección «Red» del host en cuestión.
A continuación, debemos instalar un servicio de correo, como puede ser Postfix o Sendmail, por nombrar los más populares. En mi caso he utilizado sendmail
. También he instalado el paquetemailutils
, que nos permite poder enviar correos desde la consola de comandos, y así poder hacer pruebas al respecto.
sudo apt install sendmail mailutils
Para asegurarnos que lleguen bien los correos, por lo menos en mi caso, he creado un registro MX para este servidor, en el DNS de mi proveedor.
En cualquier caso, lo más probable que la primera vez llegue a la carpeta de correo no deseado o SPAM, por lo que debemos consultarlas e indicar que es correo deseado.
Modificamos el fichero de configuración en el nodo master, en /etc/munin/munin.conf
, indicando el correo de destino de los correos. En mi caso:
contact.someuser.command mail -s "Munin notification" davidochobits@colaboratorio.net
Cómo he comentado antes cada vez que hagamos cambiamos en la configuración se ha de reiniciar Munin:
sudo systemctl restart munin-node
Podemos forzar el chequeo de los plugins, por ejemplo si hemos modificado los umbrales, utilizando munin-cron
, que fuerza la ejecución del servicio:
su - munin --shell=/bin/bash munin-cron exit
De esta manera comenzamos a recibir correos, si todo ha ido bien:
Espero que esta entrada os sea de utilidad en algún momento. Nos vamos leyendo.
Enlaces consultados
Blog OpenAlfa – Como configurar alertas en Munin