Monitorix: Monitoriza tu sistema

4 minutos de lectura

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:

1sudo apt-get update
2sudo 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>

1<httpd_builtin>
2        enabled = y
3        host =
4        port = 4040
5        user = nobody
6        group = nobody
7        log_file = /var

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

 1graph_enable>
 2        system          = y
 3        kern            = y
 4        proc            = y
 5        hptemp          = n
 6        lmsens          = n
 7        gensens         = y
 8        ipmi            = n
 9        nvidia          = n
10        disk            = y
11        fs              = y
12        zfs             = n
13        du              = n

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

 1# FS graph
 2# -----------------------------------------------------------------------------
 3<fs>
 4        <list>
 5                0 = /, swap, /mnt/datos, /mnt/backup
 6        </list>
 7        <desc>
 8        </desc>
 9        <devmap>
10        </devmap>
11        rigid = 2, 0, 2, 0
12        limit = 100, 1000, 100, 1000
13        <alerts>
14        </alerts>
15</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

1sudo systemctl enable monitorix.service
2sudo systemctl start monitorix.service

Comprobamos que ha iniciado correctamente

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

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