Cómo instalar LibreNMS en Debian 11

Crear nueva base de datos y usuario LibreNMS

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.
  • Amplia API para administrar, graficar y recuperar datos de su sistema de monitoreo.
  • Admite el sistema de facturaci√≥n para generar facturas de ancho de banda basadas en el uso o la transferencia de la red.
  • Admite m√ļltiples m√©todos de autenticaci√≥n, como MySQL, Radius, LDAP, HTTP y Active Directory.
  • Soporta autenticaci√≥n de dos factores
  • M√ļltiples integraciones con aplicaciones de terceros como Graylog, NfSen, Nagios Plugins, Oxidized, RANCID.
  • Amplia gama de soportes de proveedores de hardware, consulte a sus proveedores aqu√≠.
  • Tablero 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, los paquetes de Python, snmpd y otras utilidades 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 ‘Enter’ para continuar.

3. Una vez completada 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.service

Ahora ha completado la instalación de dependencias de paquetes para LibreNMS.

Configuración de nuevos usuarios libres

En este paso, crear√° un nuevo usuario del sistema ‘librenms’. 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 el usuario ‘librenms’ en ‘/opt/librenms’.
  • -M: No crea un directorio de inicio para el usuario ‘librenms’.
  • -r: convierte a este usuario en ‘librenms’ como usuario del sistema.
  • -s ¬ę$(which bash)¬Ľ: configura el shell predeterminado para el usuario ‘librenms’. El shell ser√° la salida del comando ‘what bash’.

2. Luego, cree una nueva contrase√Īa para el usuario ‘librenms’ usando 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.ini

Descomente la opci√≥n ‘date.timezone’ y coloque su zona horaria despu√©s. Para este ejemplo, estamos usando 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=0

Guarde 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 MariaDB/MySQL shell usando el comando ‘mysql’ como usuario ‘root’ como se muestra a continuaci√≥n.

mysql -u root -p

Escriba su contrase√Īa o presione ‘Ingresar‘ iniciar sesi√≥n.

4. Ahora ejecute las siguientes consultas de MariaDB para crear una nueva base de datos y el 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;

Escribe ‘salir’ y presiona ‘Ingresar‘ para cerrar sesi√≥n en el shell de MariaDB.

Crear nueva base de datos y usuario LibreNMS

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 de grupo predeterminada ‘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 usando 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 = librenms

Cambie 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√° un nuevo grupo ‘librenms’ 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.git

Su 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/librenms

3. 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.

Descargar el código fuente de 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’ usando 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. Despu√©s de completar todos los procesos de descarga, escriba ‘salida‘ y presione ‘Ingresar‘ 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 el editor nano.

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 -t

Si su configuraci√≥n es correcta, ver√° el 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.

Configurar Nginx 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.

https://librenms.example.io.

1. Ver√° el LibreNMS ‘Comprobaciones previas a la instalaci√≥n‘. 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.

Comprobaciones previas a la instalación de LiubreNMS

2. Escriba su base de datos, usuario y contrase√Īa. Luego haga clic en el bot√≥n ‘Comprobar credenciales‘.

LibreNMS Comprobar base de datos

Esto realizar√° la verificaci√≥n de su base de datos y usuario de MariaDB. Si tiene √©xito, ver√° la marca verde en el ‘Credenciales de la base de datos‘.

3. Ahora haga clic en el bot√≥n ‘Construir base de datos‘ para importar el esquema de la base de datos para su LibreNMS.

Importar base de datos 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 ‘Construir base de datos‘ marcar como verde.

La configuración de la base de datos se completa

4. Ahora haga clic en el ‘Llave‘icono para continuar.

Escriba un nuevo usuario, contrase√Īa y direcci√≥n de correo electr√≥nico para crear el usuario administrador de LibreNMS.

Crear nuevo usuario

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.

Usuario administrador creado

5. Haga clic en el icono de marca para completar la instalación. A continuación se muestra el resultado que obtendrá.

Terminar la instalación

Para finalizar la instalación de LibreNMS, abra la página de validación de LibreNMS como se muestra a continuación.

https://librenms.example.io/validate

6. Y será redirigido a la página de inicio de sesión de LibreNMS.

Página de inicio de sesión de LibreNMS

Escriba su usuario y contrase√Īa de administrador, luego haga clic en ‘Acceso‘ bot√≥n

7. En las páginas de validación de LibreNMS, verá algunos errores como se muestra a continuación.

LibreNMS Validar instalació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 raíz.

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 sea ‘OK‘.

Validación de LibreNMS después de la corrección

10. Haga clic en el ‘Visi√≥n general‘ men√ļ para mostrar el tablero.

Panel de control de LibreNMS

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, aprendi√≥ c√≥mo crear el grupo PHP-FPM personalizado y corregir algunos errores de instalaci√≥n de LibreNMS.

Para el siguiente paso, aprenderá cómo agregar hosts para monitorear a la herramienta de monitoreo LibreNMS.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *