Cómo instalar LibreNMS en Debian 11
En esta página
- Requisitos previos
- Instalación de dependencias de paquetes
- Configurar nuevos librenms de usuario
- Configurar sistema de zona horaria y PHP
- Configurar MariaDB y crear una base de datos
- Crear un nuevo grupo de PHP-FPM
- Descarga LibreNMS
- Instalación de dependencias PHP de LibreNMS
- Configuración de Nginx para LibreNMS
- Iniciar la instalación de LibreNMS
- - Corregir la zona horaria de la base de datos
- - Corrección de errores del sistema
LibreNMS es un sistema de monitoreo de red de código abierto basado en PHP y con soporte de detección automática. Es una bifurcación comunitaria del software de monitoreo Observium lanzado bajo licencia GPLv3. El uso de LibreNMS le permite monitorear sistemas operativos como Linux, Windows y BSD, también admite una amplia gama de hardware de red de múltiples proveedores como Aruba, Cisco, Dell, D-Link, HP, Mikrotik, etc.
Como un sistema de monitoreo con todas las funciones, LibreNMS proporciona una gran cantidad de funciones con múltiples integraciones y recopilación de datos de múltiples protocolos.
A continuación se presentan algunas características notables de LibreNMS:
- Descubrimiento automático de toda su red con múltiples protocolos como CDP, BGP, SNMP, OSPF y ARP.
- Múltiples métodos de alerta mediante correo electrónico, slacks, IRC, Rocket.chat, Telegram, etc.
- API extensa para administrar, graficar y recuperar datos de su sistema de monitoreo.
- Admite el sistema de facturación para generar facturas de ancho de banda según el uso o la transferencia de la red.
- Admite varios métodos de autenticación, como MySQL, Radius, LDAP, HTTP y Active Directory.
- Admite autenticación de dos factores
- Múltiples integraciones con aplicaciones de terceros como Graylog, NfSen, Nagios Plugins, Oxidized, RANCID.
- Apoyo de amplio rango de proveedores de hardware, verifique sus proveedores aquí.
- Panel de control fácil de usar y personalizable.
- Mantenga su software LibreNMS con soporte de actualización automática.
- Aplicación nativa para Android e iOS que proporciona funcionalidad básica.
En esta guía, aprenderá cómo instalar y configurar la herramienta de monitoreo LibreNMS en Debian 11 Bullseye.
requisitos previos
Para completar esta guía, asegúrese de cumplir con los siguientes requisitos:
- Sistema operativo: Debian 11 Bullseye
- Privilegios de raíz
Ahora comencemos la instalación.
Instalación de dependencias de paquetes
En este primer paso, instalará paquetes básicos y esenciales para LireNMS. Instalará LEMP Stack, paquetes de Python, snmpd y utilidades adicionales del sistema, como curl, fping, git e imagemagick.
1. Actualice y actualice los repositorios de Debian con el siguiente comando.
sudo apt update
2. Ahora ejecute el siguiente comando para instalar las dependencias de los paquetes.
sudo apt install acl curl composer fping git graphviz imagemagick mariadb-client mariadb-server mtr-tiny nginx-full nmap php7.4-cli php7.4-curl php7.4-fpm php7.4-gd php7.4-gmp php7.4-json php7.4-mbstring php7.4-mysql php7.4-snmp php7.4-xml php7.4-zip python3-dotenv python3-pymysql python3-redis python3-setuptools python3-pip python3-systemd rrdtool snmp snmpd whois
Escriba y para confirmar la instalación y presione Entrar para continuar.
3. Después de que se complete la instalación de las dependencias de los paquetes, ejecute los siguientes comandos para iniciar y habilitar servicios como Nginx, MariaDB, PHP-FPM y snmpd.
sudo systemctl enable --now nginx
sudo systemctl enable --now mariadb
sudo systemctl enable --now php7.4-fpm
sudo systemctl enable --now snmpd.serviceAhora ha completado la instalación de dependencias de paquetes para LibreNMS.
Configuración de nuevos usuarios libres
En este paso, creará un nuevo librenms de usuario del sistema. Su herramienta de monitoreo LibreNMS se ejecutará bajo el usuario librenms.
1. Ejecute el siguiente comando para crear un nuevo usuario librenms.
useradd librenms -d /opt/librenms -M -r -s "$(which bash)"
Opciones que debes conocer:
- -d /opt/librenms: Configure el directorio de inicio predeterminado para librenms de usuario en /opt/librenms.
- -M: No cree un directorio de inicio para librenms de usuario.
- -r: Hace que este usuario sea librenms como usuario del sistema.
- -s \$ (que bash)\: configura el shell predeterminado para librenms de usuario. El shell será la salida del comando which bash.
2. A continuación, cree una nueva contraseña para el usuario librenms con el siguiente comando.
passwd librenms
Escriba una nueva contraseña segura y repita.
Continúe con la siguiente etapa para configurar su sistema para la instalación de LibreNMS.
Configuración del sistema de zona horaria y PHP
El tiempo es una parte esencial del monitoreo. En este paso, configurará la zona horaria predeterminada para su PHP y la zona horaria del sistema, asegúrese de que ambas zonas horarias (PHP y sistema) estén sincronizadas y usen la misma zona horaria.
1. Edite la configuración php.ini para PHP-FPM y CLI usando el siguiente comando.
sudo nano /etc/php/7.4/fpm/php.ini
sudo nano /etc/php/7.4/cli/php.iniDescomente la opción date.timezone y coloque su zona horaria después. Para este ejemplo, usamos la zona horaria Europa/París.
date.timezone = Europe/Paris
Guarde ambas configuraciones y salga.
2. Ahora reinicie PHP-FPM para aplicar una nueva configuración usando el siguiente comando.
sudo systemctl restart php7.4-fpm
3. Después de eso, ejecute el siguiente comando timedatectl para configurar la zona horaria predeterminada del sistema en Europa/París.
sudo timedatectl set-timezone Europe/Paris
Ha completado la configuración de la zona horaria para su PHP y sistema.
Configurar MariaDB y crear base de datos
En este paso, agregará la configuración para MariaDB según los requisitos de LibreNMS, luego creará una nueva base de datos MariaDB y un usuario para la instalación de LibreNMS.
1. Edite la configuración del servidor MariaDB /etc/mysql/mariadb.conf.d/50-server.cnf usando el editor nano.
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
Agregue la siguiente configuración en la sección [mysqld].
[mysqld]
.....
....
innodb_file_per_table=1
lower_case_table_names=0Guarde la configuración y salga.
2. Para aplicar la nueva configuración de MariaDB, reinicie el servicio usando el siguiente comando systemctl.
sudo systemctl restart mariadb
Ahora ha agregado una configuración adicional al servidor MariaDB.
3. A continuación, inicie sesión en el shell MariaDB/MySQL usando el comando mysql como el usuario root como se muestra a continuación.
mysql -u root -p
Escriba su contraseña o presione Entrar para iniciar sesión.
4. Ahora ejecute las siguientes consultas de MariaDB para crear una nueva base de datos y un usuario librenms. Y asegúrese de cambiar la contraseña LibreNMSPassword con su contraseña segura.
CREATE DATABASE librenms CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'LibreNMSPassword';
GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';
FLUSH PRIVILEGES;Escriba exit y presione Entrar para cerrar sesión en el shell de MariaDB.
Ahora ha creado la base de datos y el usuario para la instalación de LibreNMS.
Crear un nuevo grupo de PHP-FPM
FastCGI Process Manager (FPM) o PHP-FPM le permite crear grupos personalizados para sus aplicaciones PHP. De forma predeterminada, PHP-FPM ejecuta el grupo www con la configuración /etc/php/7.4/fpm/pool.d/www.conf.
En este paso, creará un nuevo grupo PHP-FPM personalizado para LibreNMS. Creará un nuevo grupo PHP-FPM librenms con la configuración /etc/php/7.4/fpm/pool.d/librenms.conf y se ejecutará bajo el usuario librenms.
1. Primero, copie la configuración del grupo predeterminado www.conf a librenms.conf usando el siguiente comando.
cp /etc/php/7.4/fpm/pool.d/www.conf /etc/php/7.4/fpm/pool.d/librenms.conf
2. Edite la configuración del grupo librenms.conf personalizado mediante el editor nano.
sudo nano /etc/php/7.4/fpm/pool.d/librenms.conf
En la parte superior de la línea, cambie el usuario predeterminado de [www] a [librenms].
[librenms]
Cambie el usuario y el grupo predeterminados a librenms.
user = librenms
group = librenmsCambie el archivo sock predeterminado de PHP-FPM a /run/php-fpm-librenms.sock.
listen = /run/php-fpm-librenms.sock
Guarde la configuración y salga.
3. A continuación, reinicie el servicio PHP-FPM para aplicar una nueva configuración.
sudo systemctl restart php7.4-fpm
Ahora PHP-FPM generará nuevos librenms de pool con el archivo sock /run/php/php-fpm-librenms.sock.
4. Verifique el archivo sock librenms usando el siguiente comando.
ss -anl | grep librenms
Verá una salida similar a la siguiente.
u_str LISTEN 0 511 /run/php/php-fpm-librenms.sock 69199 * 0 users:(("php-fpm7.4",pid=26105,fd=10),("php-fpm7.4",pid=26104,fd=10),("php-fpm7.4",pid=26103,fd=7))
Ahora está listo para descargar e instalar la herramienta de monitoreo LibreNMS.
Descargar LibreNMS
En este paso, descargará el código fuente de LibreNMS y configurará el permiso y el control de acceso para él.
1. Cambie su directorio de trabajo a /opt y descargue el código fuente de LibreNMS usando el comando git como se muestra a continuación.
cd /opt/
git clone https://github.com/librenms/librenms.gitSu instalación de LibreNMS es el directorio /opt/librenms.
2. Cambie la propiedad y el permiso de la instalación de LibreNMS con el siguiente comando.
chown -R librenms:librenms /opt/librenms
chmod 771 /opt/librenms3. A continuación, configure las Listas de control de acceso (ACL) para el directorio de instalación de LibreNMS. Permite que el grupo lea, escriba y ejecute en cada directorio a continuación usando el siguiente comando setfacl.
setfacl -d -m g::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/
setfacl -R -m g::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/Continúe con el siguiente paso para instalar las dependencias de PHP para LibreNMS.
Instalación de dependencias PHP de LibreNMS
Para instalar las dependencias PHP de LibreNMS, debe iniciar sesión como usuario librenms y usar composer_wrapper, que se incluye en el código fuente de LibreNMS.
1. Inicie sesión como usuario librenms con el siguiente comando.
su - librenms
2. Ejecute el script PHP composer_wrapper.php para instalar las dependencias de los paquetes PHP para LibreNMS.
./scripts/composer_wrapper.php install --no-dev
3. Una vez que se hayan completado todos los procesos de descarga, escriba exit y presione Enter para cerrar la sesión del usuario librenms.
Ahora ha completado la instalación de Dependencias de PHP para LibreNMS.
Configuración de Nginx para LibreNMS
En este paso, creará un nuevo bloque de servidor Nginx para la herramienta de monitoreo LibreNMS. Este ejemplo usará el nombre de dominio librenms.example.io.
1. Cree una nueva configuración de bloques de servidor Nginx librenms usando nano editor.
sudo nano /etc/nginx/sites-available/librenms
Copie y pegue la siguiente configuración. Y asegúrese de cambiar el nombre de dominio con su dominio.
server {
listen 80;
server_name librenms.example.io;
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;
}
}Para una instalación segura de HTTPS LibreNMS, use la siguiente configuración. Y asegúrese de cambiar el nombre de dominio y la ruta de los certificados SSL.
server {
listen 80;
server_name librenms.example.io;
rewrite ^ https://$server_name$request_uri? permanent;
}
server {
server_name librenms.example.io;
root /opt/librenms/html;
index index.php;
listen 443 ssl http2;
server_name example.io;
ssl_certificate /etc/letsencrypt/live/librenms.example.io/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/librenms.example.io/privkey.pem;
ssl_session_cache builtin:1000 shared:SSL:10m;
ssl_protocols TLSv1.2;
ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
ssl_prefer_server_ciphers on;
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/php-fpm-librenms.sock;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
include fastcgi.conf;
}
location ~ /\.(?!well-known).* {
deny all;
}
}Ahora guarde la configuración y salga.
2. A continuación, active el nuevo host virtual librenms y verifique la configuración de nginx con el siguiente comando.
sudo ln -s /etc/nginx/sites-available/librenms /etc/nginx/sites-enabled/
sudo nginx -tSi su configuración es correcta, verá un mensaje de salida como la prueba fue exitosa.
3. Por último, reinicie el servicio nginx para aplicar una nueva configuración.
sudo systemctl restart nginx
Ahora ha completado la configuración del bloque del servidor Nginx para LibreNMS. Está listo para comenzar la instalación de LibreNMS.
Iniciar la instalación de LibreNMS
Para iniciar la instalación de LibreNMS, abra su navegador web y escriba el nombre de dominio de LibreNMS en la barra de direcciones.
1. Verá las comprobaciones previas a la instalación de LibreNMS. Asegúrese de que todos los estados de verificación estén marcados en verde, luego haga clic en el icono de la base de datos para continuar.
2. Escriba su base de datos, usuario y contraseña. Luego haga clic en el botón Verificar credenciales.
Esto realizará la verificación de su base de datos y usuario de MariaDB. Si tiene éxito, verá la marca verde en las Credenciales de la base de datos.
3. Ahora haga clic en el botón Crear base de datos para importar el esquema de la base de datos para su LibreNMS.
Una vez completada la configuración de la base de datos, asegúrese de que ambas secciones, Credenciales de la base de datos y Crear base de datos, estén marcadas en verde.
4. Ahora haga clic en el icono de la llave para continuar.
Escriba un nuevo usuario, contraseña y dirección de correo electrónico para crear el usuario administrador de LibreNMS.
Haga clic en el botón Agregar usuario.
Si se crea su usuario administrador, verá su administrador de usuario en la página como se muestra a continuación.
5. Haga clic en el icono de marca para completar la instalación. A continuación se muestra el resultado que obtendrá.
Para finalizar la instalación de LibreNMS, abra la página de validación de LibreNMS como se muestra a continuación.
6. Y será redirigido a la página de inicio de sesión de LibreNMS.
Escriba su usuario y contraseña de administrador, luego haga clic en el botón Iniciar sesión
7. En las páginas de validación de LibreNMS, verá algunos errores como se muestra a continuación.
Puede tener diferentes errores, pero la página de validación de LibreNMS proporciona soluciones para su error.
8. A continuación se muestran algunos errores en nuestra instalación y cómo solucionarlos.
- Arreglar la zona horaria de la base de datos
Inicie sesión en el shell de MariaDB con su usuario root.
mysql -u root -p
Cambie la base de datos actual a librenms.
use librenms;
Ahora ejecute las siguientes consultas para corregir el error de la zona horaria de la base de datos.
SET TIME_ZONE='+00:00';
ALTER TABLE `notifications` CHANGE `datetime` `datetime` timestamp NOT NULL DEFAULT '1970-01-02 00:00:00' ;
ALTER TABLE `users` CHANGE `created_at` `created_at` timestamp NOT NULL DEFAULT '1970-01-02 00:00:01' ;- Corregir errores del sistema
Agregue el comando binario LibreNMS lnms al directorio /usr/bin usando el siguiente comando.
sudo ln -s /opt/librenms/lnms /usr/bin/lnms
Habilite la finalización de bash para el comando lnms.
sudo cp /opt/librenms/misc/lnms-completion.bash /etc/bash_completion.d/
Por último, copie la configuración de logrotate para LibreNMS en el directorio /etc/logrotate.d/.
sudo cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenms
9. Después de corregir los errores de LibreNMS, vuelva a las páginas de validación de LibreNMS y vuelva a cargar la página.
Ahora asegúrese de que todo el estado esté bien.
10. Haga clic en el menú Descripción general para mostrar el tablero.
Ahora ha completado la instalación de LibreNMS en Debian 11 Bullseye.
Conclusión
¡Felicidades! Ha instalado con éxito la herramienta de monitoreo LibreNMS con Nginx, PHP-FPM y la base de datos MariaDB en la última versión de Debian 11 Bullseye. Además, ha aprendido a crear el grupo PHP-FPM personalizado y corregir algunos errores de instalación de LibreNMS.
Para el próximo paso, aprenderá cómo agregar hosts para monitorear a la herramienta de monitoreo de LibreNMS.