Monitoreo fácil con Monitorix
Volviendo poco a poco a la actividad a la web, hoy os quiero hablar del penúltimo sistema de monitoreo, llamado Monitorix. Sí, la verdad es que a mí también me ha recordado a los nombres de los personajes de Astérix y Obelix 😊 Tal y como indica en su web se trata de un sistema de monitoreo liviano, que sigue en su desarrollo la filosofía del código abierto y que es software libre, ya que utiliza una licencia GNU GPLv2. Tiene como fin principal controlar tanto servicios como recursos del sistema, tanto como sea posible. Ha sido creado para ser utilizado en servidores GNU/Linux, pero también se puede utilizar en sistema integrados.
Tal y como viene siendo habitual he utilizado para las pruebas y las capturas del producto, los VPS ofrecidos por mi proveedor de confianza Clouding.io
Cuéntame algo más sobre Monitorix
Consta de dos partes: un recopilador, llamado también monitorix, que es un servicio escrito en Perl, que se inicia de forma automática como cualquier otro servicio del sistema, y un script CGI llamado monitorix.cgi
Monitorix incluye su propio servidor HTTP, que funciona sobre el puerto 8080/TCP, para ver los gráficos de las estadísticas, por lo que no hace falta instalar un servidor web de terceros. Por lo que, para acceder a esta herramienta, lo haremos vía web por el puerto antes comentado en http://localhost:8080/monitorix
Aunque inicialmente esta herramienta fue pensada para sistemas con paquetería RPM, como Red Hat, Fedora o Centos, actualmente es compatible con otras distribuciones GNU/Linux, incluso para sistemas UNIX de la rama BSD
El equipo detrás de Monitorix siempre está intentando mejorarla, agregando nuevas funciones, nuevos gráficos y corrigiendo errores. Intentando así ofrecer una gran herramienta para los administradores de sistemas.
Importante comentar que el impulsor principal de esta herramienta es Mikaku (Jordi Sanfeliu)
Principales características de Monitorix
- Control del promedio de carga del sistema, procesos activos, uso del kernel por el número de procesador, uso del kernel global y la asignación de la memoria.
- Supervisa la temperatura y el estado de los discos.
- Uso del sistema de archivos y actividad E/S
- Uso del tráfico de red.
- Se pueden controlar servicios como SSH, FTP, Vsftpd, ProFTP, SMTP, POP3, IMAP, VirusMail, entre otros.
- Estadísticas de MTA Mail, incluidas las conexiones de entrada y salida.
- Tráfico de los puertos de red, incluidos TCP, UDP, etcétera.
- Estadísticas de FTP, MySQL, Squid o Fail2ban, incluyendo el servidor local y hosts remotos.
- Monitoreo de equipos remotos.
- Capacidad para ver las estadísticas en gráficos o en tablas de texto.
- Posibilidad de hacer zoom sobre las gráficas.
- Servidor HTTP integrado
Instalar Monitorix en sistemas RHEL, Centos y Fedora
Primero de todo en estos sistemas debemos tener habilitado el popular repositorio EPEL, para ello debemos ejecutar:
# En versiones RHEL 9 y similares yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm # En versiones RHEL 8 y similares yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm # En versions RHEL 7 y similares yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
La herramienta tiene una serie de dependencias que tenemos que cumplir:
yum install rrdtool rrdtool-perl perl-libwww-perl perl-MailTools yum install perl-CGI perl-DBI perl-XML-Simple perl-Config-General yum install perl-IO-Socket-SSL perl-HTTP-Server-Simple wget
También es importante que tengamos deshabiitado SELinux, cambiando el parámetro «enforcing» por «disabled» en el fichero «/etc/selinux/config»
Ahora sí, ya podemos instalar Monitorix:
yum install monitorix
Para muestra un botón:
Una vez instalada, el fichero de configuración lo encontramos en la ruta «/etc/monitorix/monitorix.conf«. Desde allí podemos indicar que partes del sistema y servicios queremos controlar.
Para añadir el sistema al arranque, encenderlo y controlar su estado:
systemctl enable monitorix
systemctl start monitorix
systemctl status monitorix
En mi caso, en el Rocky Linux 8, que estoy utilizando tengo el cortafuegos con Firewalld activado, por lo que tengo que abrir el puerto 8080, de la siguiente manera:
firewall-cmd --permanent --add-port=8080/tcp firewall-cmd --reload
Si todo ha ido bien ya tendríamos que poder acceder vía web a la URL «http://localhost:8080/monitorix» o bien «http:/IP-servidor:8080/monitorix«
La primera vez que accedemos el aspecto es el siguiente:
Instalar Monitorix en sistemas Debian, Ubuntu o Linux Mint
En estas versiones es aún más fácil la instalación, ya que Monitorix ya se e encuentra en los repositorios principales, en las últimas versiones de las distribuciones.
sudo apt-get update sudo apt-get install monitorix
Si son un poco más antiguas, debemos habilitar el repositorio Izzy, en el caso de Ubuntu. Añadiendo en el fichero «/etc/apt/sources.list», la siguiente línea:
deb http://apt.izzysoft.de/ubuntu generic universe
Guardamos y salimos. Ahora añadimos la llave GPG:
wget http://apt.izzysoft.de/izzysoft.asc apt-key add izzysoft.asc
Ahora ya podemos actualizar e instalar:
apt-get update apt-get install monitorix
Instalación manual de Monitorix utilizando el paquete DEB
También podemos descargarnos directamente el paquete DEB e instalarlo, siguiendo estas instrucciones.
Actualizamos el sistema e instalamos las dependencias:
apt-get update apt-get install rrdtool perl libwww-perl libmailtools-perl apt get install libmime-lite-perl librrds-perl libdbi-perl apt-get install libxml-simple-perl libhttp-server-simple-perl apt-get install libconfig-general-perl libio-socket-ssl-perl
Descargamos el paquete DEB y lo instalamos:
wget https://www.monitorix.org/monitorix_3.14.0-izzy1_all.deb dpkg -i monitorix_3.14.0-izzy1_all.deb
Durante la instalación se realizará la configuración del servidor web. Por lo tanto, debemos volver a recargar el servidor web Apache:
# En sistemas con SysVinit service apache2 restart # En Sistemas con Systemd systemctl enable apache2
Si cambiamos alguna parte de la configuración de la herramienta, debemos reiniciarla:
# En sistemas con SysVinit service monitorix restart # En Sistemas con Systemd systemctl restart monitorix
Cuando lo instalamos de esta manera, solo podemos acceder a la herramienta desde el propio localhost. Si queremos que se pueda acceder desde otro lugar, debemos modificar el fichero «/etc/apache2/conf.d/monitorix.conf» y modificar la línea de «Allow from«, con la IP que nos interese.
Algunas muestras de uso
Para ver un poco su funcionamiento, lo he dejado funcionando un rato, para que así recopile información y realizar las siguientes capturas:
Carga del servidor
Cómo apenas ha tenido tiempo la herramienta de recopilar información, y quiero publicar hoy la entrada, aprovecho las capturas de la propia web del proyecto.
Estadísticas de MySQL/MariaDB
Uso de FTP
Estadísticas de un servidor Apache
Y eso es todo, espero que esta entrada os haya sido de utilidad. ¿Habéis probado Monitorix en algún momento? ¿Conocéis alguna herramienta similar?