Búsqueda de sitios web

Instalar y configurar LibreNMS en Debian 10/Debian 11 |


LibreNMS es un monitoreo de red basado en PHP/MySQL/SNMP de descubrimiento automático que incluye soporte para una amplia gama de hardware de red y sistemas operativos, incluidos Cisco, Linux, FreeBSD, Juniper, Brocade, Foundry, HP y muchos más. Para instalar LibreNMS en el sistema Linux Debian 10/Debian 11, siga los siguientes pasos.

Algunas características clave de LibreNMS incluyen:

  • Descubrimiento automático.
  • Admite múltiples sensores ambientales.
  • Alertando.
  • Recopilación de datos con múltiples protocolos (STP, OSPF, BGP, etc.)
  • Colección de tablas VLAN, ARP y FDB.
  • Paneles de control personalizables.
  • Integración de copia de seguridad del dispositivo (oxidado, RANCID)
  • Encuesta distribuida.

Paso 1: instalar los paquetes de dependencia necesarios

Necesitamos instalar todos los paquetes de dependencia requeridos por LibreNMS para funcionar.

sudo apt update
sudo apt install software-properties-common

Debian 11:

sudo apt install curl acl composer fping git graphviz imagemagick mariadb-client mariadb-server mtr-tiny nginx-full nmap python3-memcache python3-mysqldb python3-pip rrdtool snmp snmpd whois

Debian 10:

sudo apt install curl acl composer fping git graphviz imagemagick mariadb-client mariadb-server mtr-tiny nginx-full nmap python-memcache python-mysqldb python-pip rrdtool snmp snmpd whois

Paso 2: instale PHP y las extensiones requeridas

Utilice la siguiente guía para instalar PHP 7.3 y extensiones PHP en su servidor

  • Cómo instalar PHP/PHP en Debian

Los comandos a ejecutar son:

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

Paso 3: agregue el usuario librenms al sistema

Ejecute los siguientes comandos en su terminal Debian 10 para agregar un usuario librenms.

sudo useradd librenms -d /opt/librenms -M -r
sudo usermod -aG librenms www-data

Paso 4: clonar LibreNMS desde git

Descarguemos ahora archivos LibreNMS en nuestro servidor usando git.

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

Paso 5: Establecer los permisos necesarios

El usuario de LibreNMS requiere derechos especiales sobre los directorios y archivos a los que accederá. Configúrelos ejecutando los siguientes comandos

sudo chown -R librenms:librenms /opt/librenms
sudo chmod 770 /opt/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/

Paso 6: instalar las dependencias de PHP

Ejecute los siguientes comandos para instalar todas las dependencias requeridas por PHP en su servidor Debian 10. Esto puede tardar un poco en completarse.

sudo su - librenms
./scripts/composer_wrapper.php install --no-dev
exit

Deberías ver un resultado similar al siguiente

Paso 7: Configuración de la base de datos

Instalamos MariaDB en el paso 1. Procedamos a crear una base de datos para LibreNMS.

Ingresa a tu Base de Datos

sudo systemctl enable mysql
sudo systemctl restart mysql
sudo mysql -u root -p

Crear base de datos y usuario librenms

Ejecute los siguientes comandos para crear una base de datos y un usuario para LibreNMS:

CREATE DATABASE librenms CHARACTER SET utf8 COLLATE utf8_unicode_ci;
CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'SafePassWord'; ## Make it Strong
GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';
FLUSH PRIVILEGES;
exit

Abra el archivo MariaDB y agregue las líneas siguientes en la sección [mysqld]

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

Agregue lo siguiente en [mysqld]

[mysqld]
innodb_file_per_table=1
lower_case_table_names=0

Reiniciar MariaDB

sudo systemctl restart mysql

Paso 8: Configurar PHP-FPM

Asegurémonos de que date.timezone esté configurado en php.ini en una zona horaria preferida.

En [Fecha], descomente la línea date.timezone y agregue su zona horaria.

$ sudo vim /etc/php/*/fpm/php.ini
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Africa/Nairobi

$ sudo vim /etc/php/*/cli/php.ini
date.timezone = Africa/Nairobi

Reiniciar PHP-FPM

sudo systemctl restart php*-fpm.service

Consultar estado del servicio:

$ systemctl status php*-fpm.service
● php7.4-fpm.service - The PHP 7.4 FastCGI Process Manager
     Loaded: loaded (/lib/systemd/system/php7.4-fpm.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2021-09-15 00:27:24 UTC; 23s ago
       Docs: man:php-fpm7.4(8)
    Process: 33765 ExecStartPost=/usr/lib/php/php-fpm-socket-helper install /run/php/php-fpm.sock /etc/php/7.4/fpm/pool.d/www.conf 74 (code=exited, status=0/SUCCESS)
   Main PID: 33761 (php-fpm7.4)
     Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/sec"
      Tasks: 3 (limit: 2340)
     Memory: 11.3M
        CPU: 63ms
     CGroup: /system.slice/php7.4-fpm.service
             ├─33761 php-fpm: master process (/etc/php/7.4/fpm/php-fpm.conf)
             ├─33763 php-fpm: pool www
             └─33764 php-fpm: pool www

Sep 15 00:27:24 debian-bullseye-01 systemd[1]: Starting The PHP 7.4 FastCGI Process Manager...
Sep 15 00:27:24 debian-bullseye-01 systemd[1]: Started The PHP 7.4 FastCGI Process Manager.

Paso 9: configurar el servidor web Nginx

Dado que elegimos Nginx como nuestro servidor web preferido, es hora de agregar configuraciones para que comencemos a servir páginas LibreNMS.

Elimine la página predeterminada que se carga después de una nueva instalación de Nginx

sudo rm /etc/nginx/sites-enabled/default

Cree un archivo de configuración en el directorio conf.d:

sudo vim /etc/nginx/conf.d/libreconfig.conf

Agregue lo siguiente mientras modifica el nombre de dominio

server {
  listen      80;
  server_name librenms.example.com;         ## Input your Server name here.
  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;
  }
 }

Reiniciar Nginx

sudo systemctl restart nginx

Paso 10: Configurar el demonio snmp (snmpd)

LibreNMS utiliza SNMP ampliamente para recopilar métricas de servidores y dispositivos remotos. Copie el archivo de configuración de muestra en /etc

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

En la línea de abajo:

com2sec readonly  default         RANDOMSTRINGGOESHERE
##Change to for example:
com2sec readonly  default         teststring

Cambie RANDOMSTRINGGOESHERE a su propia cadena de comunidad como se demostró anteriormente.

Extraiga el archivo siguiente, hágalo ejecutable y reinicie el demonio snmp

El archivo detecta qué sistema operativo y si es Linux, detectará qué distribución de Linux.

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

Paso 11: Copie la configuración de logrotate

LibreNMS mantiene registros en /opt/librenms/logs. Con el tiempo, estos pueden crecer y rotarse. Para rotar los registros antiguos, puede utilizar el archivo de configuración logrotate proporcionado:

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

Paso 12: configurar el trabajo cron

Este trabajo cron hace muchas cosas, como buscar actualizaciones, descubrimiento automático de dispositivos, entre muchas otras.

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

Paso 13: instalador web LibreNMS

Ahora dirígete al instalador web y sigue las instrucciones en pantalla.

http:// IP or FQDN /install.php

El instalador web podría solicitarle que cree un archivo config.php manualmente en la ubicación de instalación de librenms, copiando el contenido que se muestra en pantalla en el archivo. Si tiene que hacer esto, recuerde configurar los permisos en config.php después de copiar el contenido de la pantalla al archivo. Correr:

sudo chown librenms:librenms /opt/librenms/config.php

Siga el proceso de instalación y podrá echar un vistazo a las imágenes a continuación como guía.

Ingrese su usuario de base de datos, contraseña de base de datos y nombre de base de datos

Dale tiempo para importar DB

Agregue un usuario que utilizará para iniciar sesión en LibreNMS más adelante.

Generar configuración

Una vez generada la configuración, ejecute el siguiente comando

sudo chown librenms:librenms /opt/librenms/config.php

Finalizar la instalación

Haga clic en el enlace "validar su instalación y solucionar cualquier problema" para finalizar.

Una vez hecho todo, debería ver la página de inicio de sesión a continuación cuando actualice su navegador.

Libros recomendados sobre Linux:

  • Los mejores libros de Linux para principiantes y expertos

Ahora que hemos instalado la herramienta de monitoreo LibreNMS, todavía nos queda trabajo por hacer. Incluye agregar dispositivos, crear alertas, crear umbrales, ajustar el rendimiento y mucho más. Esperamos que la guía haya sido útil y agradecemos su visita. Le sugerimos que lea algunos documentos de LibreNMS para comenzar con los siguientes pasos.

También puede consultar las guías a continuación para su disfrute.

  • Cómo instalar LibreNMS en CentOS 8/RHEL 8
  • Instalar y configurar Zabbix Server 4.4 en Debian 10 (Buster)
  • Instale la herramienta de monitoreo LibreNMS en CentOS con Letsencrypt y Nginx
  • Cómo instalar y configurar el agente Zabbix Ubuntu y CentOS 7
  • Instalar el servidor Zabbix en Ubuntu
  • Instalar y configurar LibreNMS en Ubuntu con Nginx

Artículos relacionados: