Cómo añadir un cliente remoto a Munin

Ya os comenté en la anterior entrada sobre Munin, que tenía pendiente probar cómo añadir un host remoto, para su monitorización. Pues bien, aquí os explico el resultado. La verdad es que no ha sido nada complicado. He utilizado como conejillo de indias a otro VPS que tengo también Clouding.io, que como sabéis es mi proveedor de confianza.

En este nodo tengo bastantes cosas montadas, ya que en el tengo todos los contenedores docker que pruebo, como un servidor web con Nginx o un radio online con Icecast. Así que también os voy a explicar como funciona Munin con estos servicios, utilizando los respectivos plugins creados con ese fin.

Logo del Munin

Añadir un cliente remoto a Munin

Bien, en el VPS que vamos a utilizar como cliente, vamos a instalar el paquete Munin-node. Se trata de un servidor con Ubuntu 18.04, por lo que para instalarlo solo hemos de escribir:

sudo apt install munin-node

Y modificamos el fichero de configuración correspondiente, donde vamos a indicar que aceptamos conexiones desde la IP del servidor de Munin principal. Que es /etc/munin/munin-node.conf.

sudo vi /etc/munin/munin-node.conf

Y añadimos:

host_name radio.bitsandlinux.com #Nombre del propio cliente
allow ^161\.22\.46\.145$ #IP del servidor Munin principal

Una vez hecho esto reiniciamos el servicio:

sudo systemctl restart munin-node.service

Configuración en el lado del servidor principal

Ahora volvemos al servidor principal de Munin y también modificamos el fichero de configuración, indicando los datos del cliente:

vi /etc/munin/munin.conf

Y añadimos:

[radio.bitsandlinux.com]
    address 46.183.114.67
    use_node_name yes

Y también reiniciamos el servicio:

sudo systemctl restart munin-node.service

Ojo aquí, por que falta una cosa importante, Munin utiliza por defecto el puerto TCP 4949, por lo que, si queremos que ambas máquinas se puedan comunicar entre si, este deberá estar abierto en el cortafuegos, que no se os olvide.

Añadir plugins adicionales a Munin

Ya sabéis que Munin tiene una barbaridad de plugins disponibles, hasta 500. En este caso yo he habilitado dos que no vienen por defecto y que he encontrado bicheando un poco por Github, para Docker he encontrado este: Munin-plugin-docker, y para Icecast2 he encontrado este: icecast2-munin. Podéis consultar su configuración e instrucciones de instalación en las propias páginas. Además, me interesaba el de Nginx, pero este ya viene por defecto habilitado, así que genial.

En el caso de Icecast2, he pedido por las redes sociales que la gente se conectate y así ha sido. He podido recopilar información de las últimas horas, que no es mucho, pero por lo menos se ve como queda la gráfica:

Gráfica de conexiones para Icecast2

Por otra parte, en el caso de Docker, desde hace tiempo tengo unos cuantos contenedores funcionando, entre ellos los de ownCloud y Nextcloud, ya que los estoy comparando para un posible futuro artículos en la web. En la gráfica se observa el uso de la memoria de estos:

Gráfica uso de memoria contenedores en Docker

Otra de las cosas muy interesantes que tiene Munin es el tema de las alertas de «Warning» y «Critical«, que vienen por defecto configuradas. De hecho al añadir el nuevo VPS como cliente ya me ha saltado una por el uso de espacio en disco:

Alarma por espacio en disco

Lo ideal es que estas alertas nos lleguen por correo, pero como esta entrada me ha quedado algo extensa, lo veremos en la siguiente:

Umbrales y notificaciones por correo en Munin