Blog personal donde guardo mis notas sobre tecnología

Monitorix: Monitoriza tu sistema

Carlos M.

Sistemas de monitorización hay muchos y buenos, que sean ligeros como para que funcionen decentemente en una SBC tipo Raspberry o Rock64pro no hay tantos.

En su sitio web definen Monitorix como

Herramienta de monitoreo liviana, gratuita y de código abierto diseñada para monitorear tantos servicios y recursos del sistema como sea posible. Se ha creado para usarse en servidores Linux / UNIX en producción, pero debido a su simplicidad y tamaño pequeño también se puede usar en dispositivos integrados.

También permite monitorizar servidores remotos que también tengan instalado Monitorix Desarrollado en Perl consta principalmente de dos programas: un recopilador, llamado monitorix, que es un demonio Perl que se inicia automáticamente como cualquier otro servicio del sistema, y un script CGI llamado monitorix.cgi. Desde la versión 3.0, Monitorix incluye su propio servidor HTTP incorporado, por lo que no necesitas instalar un servidor web de terceros para usarlo.

Instalación #

La instalación la he realizado sobre mi placa rock64pro con debian buster como sistema operativo.

Para su instalación, simplemente escribe el siguiente código en la terminal:

sudo apt-get update
sudo apt install monitorix

Ello instalará Monitorix junto a las dependencias necesarias.

Configuración #

La configuración y funcionamiento se realiza desde un solo fichero de configuración ubicado en /etc/monitorix/monitorix.conf, desde donde podemos personalizar los diferentes módulos a mostrar, su estilo, puede ser tipo texto o mediante gráficos, PNG o SVG, seguridad del servidor web, zoom, fail2ban, etc.

Para cambiar el puerto de escucha del servidor web modificamos el valor port de la sección <httpd_builtin>

<httpd_builtin>
   enabled = y
   host =
   port = 4040
   user = nobody
   group = nobody
   log_file = /var

A modo de ejemplo, tenemos una sección donde le indicaremos a Monitorix los módulos a mostrar

graph_enable>
   system          = y
   kern            = y
   proc            = y
   hptemp          = n
   lmsens          = n
   gensens         = y
   ipmi            = n
   nvidia          = n
   disk            = y
   fs              = y
   zfs             = n
   du              = n

Y luego personalizar cada modulo, por ejemplo, para el módulo que muestra las estadísticas del sistema de ficheros

# FS graph
# -----------------------------------------------------------------------------
<fs>
	<list>
		0 = /, swap, /mnt/datos, /mnt/backup
	</list>
	<desc>
	</desc>
	<devmap>
	</devmap>
	rigid = 2, 0, 2, 0
	limit = 100, 1000, 100, 1000
	<alerts>
	</alerts>
</fs>

Para saber más de como funciona cada modulo y su configuración nos podemos dirigir a su pagina web https://www.monitorix.org/documentation.html#56

Funcionamiento #

Para acceder al la pagina web del panel de Monitorix, se hace a través de la dirección IP del servidor donde hemos instalado Monitorix, el puerto que hemos configurado anteriormente en el fichero de configuración en /etc/monitorix/monitorix.conf y el prefijo monitorix http://servidor:puerto/monitorix

\ Podemos seleccionar entre ver todas las estadísticas configuradas o una en particular

\ Os dejo unas capturas de pantalla para que veais su funcionamiento

La carga media del sistema

El uso global del kernel y por procesador

Temperaturas de los procesadores y su frecuencia de trabajo, temperatura de los discos duros

Sistema de ficheros

Tráfico de red

Procesos y usuarios activos

Inicio automático #

Para que Monitorix se ejecuite como servicio del sistema y aejecute durante el arranque del sistema

sudo systemctl enable monitorix.service
sudo systemctl start monitorix.service

Comprobamos que ha iniciado correctamente

     udo systemctl status monitorix.service
     monitorix.service - Monitorix
   Loaded: loaded (/lib/systemd/system/monitorix.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2019-12-10 13:35:54 CET; 5h 15min ago
     Docs: man:monitorix(8)
  Process: 7964 ExecStart=/usr/bin/monitorix -c /etc/monitorix/monitorix.conf -p /run/monitorix.pid (code=exited, status=0/SUCCESS)
 Main PID: 7966 (/usr/bin/monito)
    Tasks: 4 (limit: 4642)
   Memory: 48.1M
   CGroup: /system.slice/monitorix.service
	   |-7966 /usr/bin/monitorix -c /etc/monitorix/monitorix.conf -p /run/monitorix.pid
	   `-8002 monitorix-httpd listening on 4040

Dec 10 13:35:54 rock64pro systemd[1]: Starting Monitorix...
Dec 10 13:35:54 rock64pro systemd[1]: Started Monitorix.

Espero que te haya gustado, pasa un buen día… 🐧