Monitoreo · 14 min read · Nov 16, 2025

Cómo instalar la solución de monitoreo LibreNMS en Rocky Linux

LibreNMS es una herramienta de monitoreo que admite el descubrimiento automático con múltiples protocolos, incluidos SNMP, ARP, OSPF y BGP. Para monitorear sistemas operativos, puedes usar el protocolo SNMP, que está disponible en la mayoría de los sistemas operativos, incluidos Linux, Windows y BSD.

Hay tres versiones del protocolo SNMP, v1 y v2 que están aseguradas solo con una contraseña de comunidad, y el protocolo v3 que admite contraseñas para autenticación y cifrado. Para el entorno de producción, se recomienda usar el protocolo SNMP v3, que es más seguro que v2 y v1.

En esta guía, aprenderás cómo instalar la herramienta de monitoreo LibreNMS en el servidor Rocky Linux. Esta guía incluye la instalación de la pila LEMP (Nginx, MariaDB y PHP-FPM) y la configuración básica del servicio SNMP.

Al final, tendrás la solución de monitoreo LibreNMS lista para producción y solo tendrás que agregar un nuevo host, servidor o dispositivo para monitorear con LibreNMS.

Requisitos previos

Para completar esta guía, necesitarás los siguientes requisitos:

  • Un servidor Rocky Linux - Este ejemplo utiliza Rocky Linux 8.
  • Un usuario no root con privilegios de sudo root/administrador.
  • Un nombre de dominio local para la implementación local.

Configuración de Repositorios

Antes de comenzar a instalar paquetes, ahora configurarás repositorios en tu sistema Rocky Linux. Necesitarás agregar el repositorio EPEL (Paquetes adicionales para Linux empresarial) y el repositorio PHP Remi.

Ejecuta el siguiente comando dnf para agregar el repositorio EPEL a tu sistema.

sudo dnf install epel-release

Ingresa Y cuando se te pida la confirmación y presiona ENTER para continuar.

install epel

A continuación, ejecuta el siguiente comando dnf para agregar el repositorio PHP Remi. Este repositorio proporciona múltiples versiones de PHP, que incluyen la última PHP 8.1 que se requiere para la instalación de LibreNMS.

sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm

Ahora ingresa Y y presiona ENTER para continuar.

add remi repo

Después de agregar el repositorio EPEL y Remi, verifica usando el comando dnf a continuación.

sudo dnf repolist

Deberías ver que el repositorio EPEL y Remi se ha agregado y está disponible en tu sistema Rocky Linux.

Instalación de Dependencias de Paquetes

Después de agregar los repositorios EPEL y Remi, ahora comenzarás a instalar las dependencias de paquetes para LibreNMS. Esto incluye la pila LEMP, paquetes SNMP y algunas dependencias básicas de Python.

Antes de comenzar la instalación, ejecuta el siguiente comando para habilitar el módulo del repositorio PHP ‘remi-8.1‘. La última versión de LibreNMS requiere al menos PHP 8.

sudo dnf reset php  
sudo dnf module enable php:remi-8.1

Ingresa y para confirmar y habilitar el repositorio PHP Remi 8.1.

reset php modules

A continuación, ejecuta el siguiente comando dnf para instalar las dependencias de paquetes para LibreNMS. Cuando se te pida confirmar la instalación, ingresa y y presiona ENTER para continuar, y la instalación comenzará.

sudo dnf install bash-completion cronie fping git ImageMagick mariadb-server mtr net-snmp net-snmp-utils nginx nmap php-fpm php-cli php-common php-curl php-gd php-gmp php-json php-mbstring php-process php-snmp php-xml php-zip php-mysqlnd python3 python3-PyMySQL python3-devel python3-redis python3-memcached python3-pip python3-systemd rrdtool unzip

install dependencies

Después de que se instalen las dependencias, ejecuta el siguiente comando para iniciar y habilitar algunos servicios como Nginx, MariaDB, PHP-FPM y snmpd.

sudo systemctl enable nginx php-fpm mariadb snmpd  
sudo systemctl start nginx php-fpm mariadb snmpd

En este punto, algunos servicios básicos Nginx, MariaDB, PHP-FPM y el snmpd se iniciarán automáticamente al arrancar el sistema. Y todos esos servicios están en ejecución.

start enable services

Configuración de Firewalld

Para este ejemplo, estamos usando Rocky Linux con firewalld habilitado. Ahora agregarás tanto el protocolo HTTP como el HTTPS al firewalld.

Ejecuta el siguiente comando firewall-cmd para agregar los servicios HTTP y HTTPS al firewalld. Deberías recibir el mensaje de salida ‘success‘, lo que significa que la nueva regla se ha agregado.

sudo firewall-cmd --permanent --zone public --add-service http  
sudo firewall-cmd --permanent --zone public --add-service https

A continuación, recarga el firewalld para aplicar los nuevos cambios. Luego, verifica el estado del firewalld usando el siguiente comando.

sudo firewall-cmd --reload  
sudo firewall-cmd --list-all

Recibirás la salida de que tanto los protocolos HTTP como HTTPS se han agregado al firewalld.

setup firewalld

Descargando el Código Fuente de LibreNMS

En este paso, descargarás el código fuente de LibreNMS desde GitHub. Pero antes de eso, también crearás un nuevo usuario dedicado ‘librenms‘ que se utilizará para ejecutar la aplicación LibreNMS.

Ejecuta el siguiente comando para crear un nuevo usuario del sistema ‘librenms’. Este usuario se utilizará para ejecutar la aplicación LibreNMS.

sudo useradd librenms -d /opt/librenms -M -r -s "$(which bash)"

Ahora mueve tu directorio de trabajo a ‘/opt’ y descarga el código fuente de LibreNMS a través del comando git a continuación. Ahora deberías obtener un nuevo directorio ‘/opt/librenms‘, que se utilizará como el directorio de instalación de LibreNMS.

cd /opt  
git clone https://github.com/librenms/librenms.git

download librenms

Cambia la propiedad y los permisos del directorio de instalación de LibreNMS ‘/opt/librenms‘. La propiedad de la instalación debe ser el usuario ‘librenms’, y también el permiso 771 permitirá al usuario leer, escribir y ejecutar en el directorio.

sudo chown -R librenms:librenms /opt/librenms  
sudo chmod 771 /opt/librenms

Por último, ejecuta el siguiente comando para establecer las listas de control de acceso para algunos de los directorios de LibreNMS. Esto otorgará al grupo ‘librenms‘ permisos de lectura, escritura y ejecución en algunos directorios específicos de LibreNMS.

sudo setfacl -d -m g::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/  
sudo setfacl -R -m g::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/

Instalación de Dependencias de PHP para LibreNMS

Después de descargar el código fuente de LibreNMS y configurar los permisos correctos, ahora instalarás las dependencias de PHP para LibreNMS.

Inicia sesión como el usuario ‘librenms’ usando el siguiente comando.

su - librenms

Ahora, instala las dependencias de PHP a través del script de instalación como se muestra a continuación.

./scripts/composer_wrapper.php install --no-dev

Ahora verás la instalación de las dependencias de PHP que se requieren para LibreNMS. También verás la instalación de paquetes de Python para LibreNMS.

install dependencies

Después de que se complete la instalación de las dependencias de PHP, ahora puedes salir del usuario ‘librenms‘ presionando ‘Ctrl+d‘ o puedes escribir el comando ‘exit‘.

Configuración de PHP-FPM

En este paso, configurarás tu instalación de PHP-FPM para LibreNMS. Modificarás la configuración predeterminada ‘/etc/php.ini‘ y configurarás un grupo específico de PHP-FPM para LibreNMS.

Ejecuta el siguiente comando para establecer la zona horaria correcta para tu sistema Rocky Linux.

sudo timedatectl set-timezone Europe/Stockholm

Ahora edita la configuración de PHP ‘/etc/php.ini‘ usando el siguiente editor nano.

sudo nano /etc/php.ini

Descomenta la opción ‘date.timezone’ y cambia el valor por la zona horaria actual de tu servidor.

date.timezone = Europe/Stockholm

Guarda el archivo y cierra el editor cuando hayas terminado.

A continuación, copia la configuración predeterminada del grupo PHP-FPM ‘www.conf’ a ‘librenms.conf’. En este ejemplo, configurarás el grupo específico de PHP-FPM para la herramienta de monitoreo LibreNMS.

cp /etc/php-fpm.d/www.conf /etc/php-fpm.d/librenms.conf

Ahora edita la configuración del grupo PHP-FPM ‘/etc/php-fpm.d/librenms.conf‘ usando el siguiente editor nano.

sudo nano /etc/php-fpm.d/librenms.conf

Cambia el nombre del grupo predeterminado de ‘[www]‘ a ‘[librenms]‘.

[librenms]

Cambia el usuario y grupo predeterminados a ‘librenms‘. Esto ejecutará el proceso PHP-FPM como el usuario y grupo ‘librenms‘.

user = librenms  
group = librenms

Por último, cambia la opción listen a ‘/run/php-fpm-librenms.sock’. Esto especificará el archivo sock para el grupo PHP-FPM de librenms.

listen = /run/php-fpm-librenms.sock

Guarda el archivo y sal del editor cuando hayas terminado.

Ahora ejecuta el siguiente comando systemctl para reiniciar el servicio PHP-FPM y aplicar los nuevos cambios.

sudo systemctl restart php-fpm

setup php-fpm

Configuración del Servidor MariaDB

Después de haber configurado PHP-FPM, ahora configurarás el servidor de base de datos MariaDB y crearás una nueva base de datos y usuario para LibreNMS.

LibreNMS requiere el servidor de base de datos MariaDB con InnoDB habilitado. Así que ahora necesitarás habilitarlo. Luego, crearás una nueva base de datos y usuario para LibreNMS.

Edita la configuración del servidor MariaDB ‘/etc/my.cnf.d/mariadb-server.cnf’ usando el siguiente editor nano.

sudo nano /etc/my.cnf.d/mariadb-server.cnf

Coloca la siguiente configuración en la sección ‘[mysqld]‘.

[mysqld]  
....  
innodb_file_per_table=1  
lower_case_table_names=0

Guarda el archivo y cierra el editor cuando hayas terminado.

Ahora ejecuta el siguiente comando systemctl a continuación para reiniciar el servicio MariaDB y aplicar los nuevos cambios. El servidor MariaDB ahora se está ejecutando con el motor de base de datos InnoDB habilitado.

sudo systemctl restart mariadb

A continuación, inicia sesión en la consola de MariaDB a través del comando mysql a continuación. Cuando se te pida la contraseña, puedes simplemente presionar ENTER o escribir la contraseña de root de MariaDB.

sudo mysql -u root -p

Ejecuta las siguientes consultas para crear una nueva base de datos y usuario para LibreNMS. En este ejemplo, crearás una nueva base de datos y usuario ‘librenms‘, y asegúrate de cambiar la contraseña de la base de datos por tu contraseña.

CREATE DATABASE librenms CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;  
CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'password';  
GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';  
FLUSH PRIVILEGES;

create database and user

A continuación, ejecuta la siguiente consulta para verificar los privilegios para el usuario de la base de datos ‘librenms@localhost‘.

SHOW GRANTS FOR librenms@localhost;

Deberías ver que el usuario ‘librenms’@localhost tiene privilegios sobre la base de datos ‘librenms‘.

check privileges

Ahora escribe ‘exit‘ para cerrar sesión en la consola de MariaDB.

Configuración de Bloques de Servidor Nginx

Después de haber configurado el servidor MariaDB y crear la base de datos y el usuario, ahora crearás una nueva configuración de bloque de servidor Nginx para LibreNMS.

Antes de comenzar, asegúrate de haber decidido el dominio local que se utilizará para LibreNMS. En este ejemplo, LibreNMS debería estar funcionando con el dominio ‘librenms.howtoforge.local‘.

Crea una nueva configuración de bloques de servidor Nginx ‘/etc/nginx/conf.d/librenms.conf‘ usando el siguiente editor nano.

sudo nano /etc/nginx/conf.d/librenms.conf

Agrega la siguiente configuración al archivo y asegúrate de cambiar el nombre de dominio por tu dominio.

server {  
    listen      80;  
    server_name librenms.howtoforge.local;  
    root        /opt/librenms/html;  
    index       index.php;  
  
    charset utf-8;  
    gzip on;  
    gzip_types text/css application/javascript text/javascript application/x-javascript image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon;  
  
    location / {  
        try_files $uri $uri/ /index.php?$query_string;  
    }  
  
    location ~ [^/]\.php(/|$) {  
        fastcgi_pass unix:/run/php-fpm-librenms.sock;  
        fastcgi_split_path_info ^(.+\.php)(/.+)$;  
        include fastcgi.conf;  
    }  
  
    location ~ /\.(?!well-known).* {  
        deny all;  
    }  
}

Guarda el archivo y cierra el editor cuando hayas terminado.

A continuación, ejecuta el siguiente comando para verificar la configuración de Nginx y asegurarte de que la configuración sea correcta.

sudo nginx -t

Si tu configuración de Nginx es correcta, verás el mensaje de salida como ‘test successful - Syntax OK‘.

Ahora reinicia el servicio Nginx para aplicar la nueva configuración del bloque de servidor.

sudo systemctl restart nginx

setup nginx

En este punto, has completado la configuración de la pila LEMP (Nginx, base de datos MariaDB y PHP-FPM) para LibreNMS. Además, LibreNMS debería estar funcionando ahora en tu sistema Rocky Linux.

Configuración de SELinux

Para esta guía, ejecutarás LibreNMS con SELinux habilitado en modo de aplicación. Así que ahora configurarás las reglas de SELinux para LibreNMS.

Para comenzar, ejecuta el siguiente comando dnf a continuación para instalar el paquete ‘policycoreutils-python-utils‘ en tu sistema Rocky Linux. Este paquete proporciona múltiples líneas de comandos para gestionar SELinux.

sudo dnf install policycoreutils-python-utils

Cuando se te pida, ingresa y para confirmar y presiona ENTER para continuar.

install SELinux management tool

A continuación, ejecuta el siguiente comando para establecer etiquetas para el código fuente de LibreNMS.

semanage fcontext -a -t httpd_sys_content_t '/opt/librenms/html(/.*)?'  
semanage fcontext -a -t httpd_sys_rw_content_t '/opt/librenms/(rrd|storage)(/.*)?'  
semanage fcontext -a -t httpd_log_t "/opt/librenms/logs(/.*)?"  
semanage fcontext -a -t bin_t '/opt/librenms/librenms-service.py'  
restorecon -RFvv /opt/librenms  
chcon -t httpd_sys_rw_content_t /opt/librenms/.env

setup selinux labelling

Ejecuta el siguiente comando para permitir el acceso a algunos servicios para el servidor web Nginx.

setsebool -P httpd_can_sendmail=1  
setsebool -P httpd_execmem 1

Ahora, crea un nuevo archivo ‘http_fping.tt’ usando el siguiente editor nano.

nano http_fping.tt

Agrega la siguiente configuración al archivo.

module http_fping 1.0;  
  
require {  
type httpd_t;  
class capability net_raw;  
class rawip_socket { getopt create setopt write read };  
}  
  
#============= httpd_t ==============  
allow httpd_t self:capability net_raw;  
allow httpd_t self:rawip_socket { getopt create setopt write read };

Guarda el archivo y cierra el editor cuando hayas terminado.

A continuación, ejecuta el siguiente comando para convertir el ‘http_fping.tt‘ al formato para SELinux. Luego, agrega la nueva regla compilada a SELinux.

checkmodule -M -m -o http_fping.mod http_fping.tt  
semodule_package -o http_fping.pp -m http_fping.mod  
semodule -i http_fping.pp

setup selinux

Ahora que has terminado la configuración de SELinux para LibreNMS. A continuación, configurarás algunas configuraciones adicionales para LibreNMS.

Finalizando las Configuraciones de LibreNMS

Para finalizar la configuración de LibreNMS, ahora configurarás el comando ‘lnms‘, copiarás algunas configuraciones predeterminadas de LibreNMS, incluidas las configuraciones para cron y logrotate. También configurarás el servicio SNMP para LibreNMS.

Ejecuta el siguiente comando para habilitar el comando ‘lnms‘ y copiar la finalización de bash del comando ‘lnms‘.

ln -s /opt/librenms/lnms /usr/bin/lnms  
cp /opt/librenms/misc/lnms-completion.bash /etc/bash_completion.d/

Copia la configuración de ejemplo del cron de LibreNMS a ‘/etc/cron.d/librenms‘.

sudo cp /opt/librenms/librenms.nonroot.cron /etc/cron.d/librenms

Copia la configuración predeterminada de logrotate para LibreNMS a ‘/etc/logrotate.d/librenms‘.

sudo cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenms

finishing librenms

Ahora copia la configuración predeterminada del servicio snmpd a ‘/etc/snmp/snmpd.conf’. Luego, edita el nuevo archivo ‘/etc/snmp/snmpd.conf’ usando el editor nano.

sudo cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf  
sudo nano /etc/snmp/snmpd.conf

Cambia la contraseña de comunidad predeterminada para el servicio snmpd ‘RANDOMSTRINGGOESHERE‘ por tu contraseña.

# Cambia RANDOMSTRINGGOESHERE por tu cadena de comunidad SNMP preferida  
com2sec readonly  default         RANDOMSTRINGGOESHERE

Guarda el archivo y cierra el editor cuando hayas terminado.

A continuación, descarga el archivo binario que se utilizará por LibreNMS para detectar automáticamente el sistema operativo de cada host objetivo. Luego, hazlo ejecutable cambiando los permisos predeterminados.

curl -o /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro  
chmod +x /usr/bin/distro

Por último, reinicia el servicio snmpd para aplicar los nuevos cambios y configuraciones.

systemctl restart snmpd

Ahora que todas las configuraciones básicas están completas. A continuación, comenzarás la instalación de LibreNMS a través del navegador web.

Accediendo a la Instalación Web de LibreNMS

En tu máquina local, edita el archivo ‘/etc/hosts’ y define el nombre de dominio local de tu instalación de LibreNMS. Además, asegúrate de cambiar la dirección IP por la dirección IP de tu servidor.

192.168.5.100   librenms.howtoforge.local

Ahora abre el navegador web y visita el nombre de dominio de tu instalación de LibreNMS (es decir: http://librenms.howtoforge.local/).

Al principio, el instalador de LibreNMS verificará los entornos para la instalación. Asegúrate de que todos los requisitos estén marcados en verde, lo que significa que el sistema está listo para la instalación de LibreNMS.

Haz clic en el ícono de la base de datos para continuar.

pre install setup database

Ahora ingresa los detalles de la base de datos y el usuario para tu LibreNMS y haz clic en ‘Check Credentials‘. Si tus credenciales de base de datos son correctas, la sección se marcará en verde.

check database

Ahora haz clic en ‘Build Database‘ para comenzar la migración de la base de datos para LibreNMS.

build database

Después de que se complete la migración de la base de datos, verás la sección ‘Build Database‘ marcada en verde.

Haz clic en el ícono de la llave para comenzar a configurar el usuario administrador para LibreNMS.

build database

Ahora ingresa el nuevo usuario administrador, la contraseña y la dirección de correo electrónico para tu instalación de LibreNMS y haz clic en ‘Add User‘.

setup user

Ahora la instalación ha finalizado y verás la siguiente página. Puedes ver que la instalación ha finalizado y las configuraciones se han escrito en el archivo ‘.env‘.

installation completes

Ahora haz clic en el enlace ‘validate your install‘ para verificar la instalación de LibreNMS.

Ahora deberías ser redirigido a la página de inicio de sesión de LibreNMS. Ingresa tu usuario administrador y contraseña, luego haz clic en ‘Login‘.

login librenms

Ahora asegúrate de que todas las configuraciones estén marcadas como ‘OK‘, lo que significa que la configuración no tiene errores.

También puedes corregir todos los errores o advertencias siguiendo las instrucciones recomendadas por LibreNMS.

validate instakllation librenms

Ahora puedes agregar un nuevo host objetivo, máquina virtual o dispositivo de red para monitorear la solución de monitoreo LibreNMS.

Conclusión

¡Felicidades! Has instalado la solución de monitoreo LibreNMS en el servidor Rocky Linux. También has aprendido la configuración básica de la pila LEMP (Nginx, MariaDB y PHP-FPM) en Rocky Linux.

A partir de aquí, puedes continuar agregando un host o máquina objetivo para monitorear, configurar el agente de LibreNMS, configurar alertas o notificaciones, configurar la integración de terceros con Graylog y realizar otras tareas.

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.