Búsqueda de sitios web

Cómo instalar la herramienta de monitoreo LibreNMS en Debian 11/10


LibreNMS es una herramienta de monitoreo de redes de código abierto y con todas las funciones que proporciona una amplia gama de funciones y capacidades de monitoreo para sus dispositivos de red.

Las características clave incluyen:

  • Descubrimiento automático de toda su red utilizando los protocolos ARP, SNMP, BGP, OSPF, LLDP y FDP.
  • Un sistema de alertas altamente personalizable que se puede modificar para enviar alertas por correo electrónico, Slack y otros canales.
  • Un panel de control simple y fácilmente personalizable.
  • Una API completamente completa para administrar y representar gráficamente datos desde su servidor de monitoreo.
  • Amplia compatibilidad con dispositivos: admite una amplia gama de proveedores de hardware, como Cisco, Juniper, HP y muchos más.
  • Actualizaciones automáticas y corrección de errores.
  • Autenticación multifactor.
  • Soporte nativo para aplicaciones de Android e iOS.
  • y muchos más.

En esta guía, instalaremos la herramienta de monitoreo LibreNMS en Debian 11/10.

Paso 1: instale Nginx, MariaDB y PHP

Para comenzar, actualice los repositorios e instale los paquetes de requisitos previos de la siguiente manera:

sudo apt update
sudo apt install software-properties-common wget apt-transport-https

El siguiente paso es instalar Nginx y paquetes adicionales como curl, git, SNMP y python que serán requeridos por la herramienta de monitoreo LibreNMS.

Entonces, ejecuta el comando:

sudo apt install nginx-full curl acl fping graphviz composer git imagemagick mtr-tiny nmap python3-pip python3-memcache python3-mysqldb python3-dotenv python3-pymysql rrdtool snmp snmpd whois python3-redis python3-systemd python3-setuptools python3-systemd

A continuación, instale el servidor de base de datos MariaDB, PHP y las extensiones PHP adicionales que necesita la herramienta de monitoreo LibreNMS.

sudo apt install mariadb-server php php-fpm php-cli php-xml php-common php-gd php-json php-snmp php-pdo php-mysql php-zip php-curl php-mbstring php-pear php-bcmath

Una vez instalado, asegúrese de habilitar los servicios Nginx, php-fpm, MariaDB y SNMP como se muestra.

sudo systemctl enable --now nginx
sudo systemctl enable --now php7.4-fpm
sudo systemctl enable --now mariadb
sudo systemctl enable --now snmpd.service

Paso 2: Configurar TimeZone para PHP

El siguiente paso requiere que configuremos o establezcamos la zona horaria de PHP. Esto se hace en el archivo php.ini que es el archivo de configuración PHP predeterminado.

Acceda a los archivos de configuración php.ini en las siguientes rutas usando su editor favorito.

sudo nano /etc/php/7.4/fpm/php.ini
sudo nano /etc/php/7.4/cli/php.ini

Navegue hasta el parámetro date.timezone y configúrelo en su zona horaria. Para obtener una lista completa de todas las zonas horarias admitidas, diríjase al sitio oficial de PHP.

En este ejemplo, configuramos la zona horaria en UTC.

date.timezone = UTC

Luego guarde los cambios y salga de los archivos.

Paso 3: crear una base de datos para LibreNMS

En este paso, crearemos una base de datos para la instalación de LibreNMS. Pero primero, aseguremos la base de datos ejecutando el siguiente script:

sudo mysql_secure_installation

Siga las instrucciones detalladas que lo guiarán sobre cómo crear la contraseña raíz de MariaDB, eliminar usuarios anónimos, probar la base de datos y finalmente no permitir el inicio de sesión remoto como raíz.

A continuación, inicie sesión en MariaDB:

sudo mysql -u root -p

Luego ejecute los siguientes comandos para crear una base de datos y un usuario de base de datos y asignar todos los privilegios al usuario de la base de datos.

CREATE DATABASE librenms_db CHARACTER SET utf8 COLLATE utf8_unicode_ci;
CREATE USER 'librenms_user'@'localhost' IDENTIFIED BY 'P@ssword321'; 
GRANT ALL PRIVILEGES ON librenms_db.* TO 'librenms_user'@'localhost';

Luego guarde los cambios y salga del indicador de MariaDB.

FLUSH PRIVILEGES;
EXIT;

Es necesario realizar algunos ajustes en la base de datos. Entonces abra el archivo de configuración de MariaDB que se muestra:

sudo vim /etc/mysql/mariadb.conf.d/50-server.cnf

Luego pegue las siguientes líneas de código en la sección 'mysqld'.

innodb_file_per_table=1
lower_case_table_names=0

Guarde los cambios y salga del archivo. Para aplicar los cambios, reinicie el servidor de la base de datos.

sudo systemctl restart mariadb

Paso 4: Agregar usuario de LibreNMS

También necesita crear un nuevo usuario LibreNMS. Este es el usuario con el que se ejecutará LibreNMS. En este ejemplo, estamos creando un usuario llamado librenms con los siguientes atributos.

sudo useradd librenms -d /opt/librenms -M -r -s /bin/bash
sudo usermod -aG librenms www-data
  • La opción -d establece el directorio de inicio para el usuario librenms en el directorio /opt/librenms.
  • La opción -r configura el usuario librenms como usuario del sistema.
  • La opción -M omite la creación de un directorio de inicio para el usuario ya que ya se ha definido usando la opción -d.
  • La opción -s especifica el tipo de shell, en este caso, bash.

Paso 5: Clonar el repositorio Git de LibreNMS

Cambiando de tema, ahora vamos a clonar el repositorio git LibreNMS para comenzar a configurarlo.

Ejecute los siguientes comandos para clonar el repositorio de Git

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

Luego regrese al directorio de inicio.

cd  ~

A continuación, debemos asignar la propiedad del directorio y los permisos al directorio de inicio de Librenms. Para lograr esto, ejecute los siguientes comandos:

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

Además, modifique las listas de control de acceso para el directorio de inicio de Librenms usando el comando setfacl. Esto otorga al grupo Librenms permiso para leer y escribir en los subdirectorios del directorio de inicio.

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/

Paso 6: instalar las dependencias de PHP

PHP requiere algunas dependencias durante la configuración de la herramienta de monitoreo LibreNMS. Para hacer esto, debe iniciar sesión como librenmsuser.

sudo su - librenms

A continuación, instale todas las dependencias de PHP de la siguiente manera.

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

Una vez que se complete la instalación de las dependencias, salga del usuario librenms.

exit

Paso 7: Configurar PHP-FPM para la instalación de LibreNMS

Continuando, necesitamos hacer algunos cambios en PHP-FPM para poder soportar LibreNMS.

Para lograr esto. Copie el archivo 'www.conf', que es el archivo de configuración predeterminado del grupo, al archivo 'librenms.conf' de la siguiente manera.

sudo cp /etc/php/7.4/fpm/pool.d/www.conf /etc/php/7.4/fpm/pool.d/librenms.conf

A continuación, edite el archivo 'librenms.conf'.

sudo nano /etc/php/7.4/fpm/pool.d/librenms.conf

Cambie los parámetros de usuario y grupo a librenms como se muestra

user = librenms
group = librenms

A continuación, modifique el atributo de escucha a /run/php-fpm-librenms.sock de la siguiente manera.

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

Guarde los cambios y salga de la configuración. Asegúrese de reiniciar el servicio PHP-FPM para aplicar los cambios.

sudo systemctl restart php7.4-fpm

Paso 8: configurar el demonio SNMP

El protocolo SNMP es un protocolo TCP/IP que recopila y organiza métricas o información de dispositivos administrados a través de una red.

La mayoría de las herramientas de monitoreo, como Cacti, aprovechan el servicio SNMP para recopilar información de hosts remotos. Y también LibreNMS.

Para configurar el servicio SNMP, continúe y copie el archivo snmpd.conf.example al archivo /etc/snmp/snmpd.conf.

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

A continuación, edite el archivo snmpd.conf.

sudo vim /etc/snmp/snmpd.conf

Localice la cadena RANDOMSTRINGGOESHERE.

com2sec readonly  default         RANDOMSTRINGGOESHERE

Cámbielo a librenms.

com2sec readonly  default		  librenms

Guarde los cambios y salga.

A continuación, descargue el archivo de distribución, que es un archivo que detecta automáticamente el sistema operativo de los nodos administrados y distingue su distribución.

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

Hágalo ejecutable y reinicie el servicio SNMP.

sudo chmod +x /usr/bin/distro
sudo systemctl restart snmpd

Paso 9: Configurar Nginx para LibreNMS

Con Nginx como nuestro servidor web preferido, debemos dar un paso más y configurarlo para servir LibreNMS.

Primero, crearemos un bloque de servidor Nginx como se muestra.

sudo nano /etc/nginx/sites-available/librenms

Pegue las siguientes líneas de códigos. Para el atributo server_name, proporcione el nombre de dominio registrado o la dirección IP de su servidor.

server {
  listen      80;
  server_name 23.92.30.144;        
  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 /api/v0 {
   try_files $uri $uri/ /api_v0.php?$query_string;
  }
  location ~ .php {
   include fastcgi.conf;
   fastcgi_split_path_info ^(.+.php)(/.+)$;
   fastcgi_pass unix:/var/run/php/php-fpm.sock;
  }
  location ~ /.ht {
   deny all;
  }
 }

Guarde los cambios y salga del archivo de configuración. A continuación, habilite el bloque del servidor Nginx creando un enlace simbólico como se muestra.

sudo ln -s /etc/nginx/sites-available/librenms /etc/nginx/sites-enabled/

Luego reinicie Nginx para aplicar los cambios realizados en la configuración.

sudo systemctl restart nginx

Además, puede confirmar que todas las configuraciones de Nginx están bien ejecutando el comando:

sudo nginx -t

Paso 10: Copie la configuración de Logrotate y Cron

De forma predeterminada, LibreNMS almacena sus registros en el directorio /opt/librenms/logs. Con el tiempo, esto puede llenarse fácilmente y presentar problemas de espacio. Para evitar esto, se recomienda rotar los archivos de registro antiguos.

Por lo tanto, copie el archivo logrotate en el directorio LibreNMS al directorio /etc/logrotate.d/.

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

Igualmente importante, copie el archivo de trabajo cron de la siguiente manera para permitir el sondeo automático y el descubrimiento de nuevos dispositivos.

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

Paso 11: Complete la configuración de LibreNMS desde un navegador

Para completar la configuración desde un navegador, diríjase a la siguiente URL:

http://server-ip

Esto lo llevará a la lista de verificación previa a la instalación que se muestra. Si todo se ve bien, haga clic en el icono "base de datos" a la derecha.

Asegúrese de completar todos los detalles de la base de datos y haga clic en "Verificar credenciales".

Una vez que se hayan validado los detalles de la base de datos, haga clic en "Crear base de datos".

Cuando haya superado este paso, haga clic en el siguiente icono para crear un usuario Administrador. Proporcione el nombre de usuario, la contraseña y el correo electrónico del usuario administrador y haga clic en "Agregar usuario".

Finalmente, haga clic en el último botón para finalizar la instalación.

Te encontrarás con este error informándote que el instalador "Error al escribir el archivo: /opt/librenms/.env".

Pero no te preocupes. Simplemente actualice manualmente el archivo /opt/librenms/.env nuevamente con los detalles de la base de datos proporcionados. Estos detalles variarán en su caso.

Entonces, acceda al archivo.

sudo nano /opt/librenms/.env

Elimine todo el contenido del archivo, pegue los detalles proporcionados anteriormente en el archivo y guarde los cambios.

Luego regrese y haga clic en el botón "Reintentar". Esto lo llevará a la página de inicio de sesión de LibreNMS. Proporcione las credenciales de inicio de sesión y haga clic en "Iniciar sesión".

Una vez que haya iniciado sesión, obtendrá dicho panel. Desde aquí, puede comenzar a agregar sus hosts y monitorear varias métricas.

Y eso es. En esta guía, lo hemos guiado a través de la instalación de la herramienta de monitoreo LibreNMS en Debian 11/10.