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.
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:
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:
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:
Lo ideal es que estas alertas nos lleguen por correo, pero como esta entrada me ha quedado algo extensa, lo veremos en la siguiente: