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:

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… :penguin: