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 *