Instalar y configurar LibreNMS en Debian 10 con Nginx

Introducción

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

Paso 1: instale los paquetes necesarios

Necesitamos instalar todas las dependencias requeridas por LibreNMS para ejecutarse.

sudo apt install software-properties-common
sudo apt update && sudo apt -y upgrade
sudo apt install nginx
sudo apt install curl acl composer fping git graphviz imagemagick mariadb-client mariadb-server mtr-tiny nginx-full nmap python-memcache python-mysqldb 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 10 Buster

Paso 3: agregue el usuario librenms al sistema

Ejecute el siguiente comando en una terminal Debian 10 para agregar el usuario librenms.

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

Paso 4: clonar LibreNMS desde git

Ahora descarguemos el archivo LibreNMS a nuestro servidor usando git.

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

Paso 5: Establezca los permisos necesarios en el directorio LibreNMS

Los usuarios de LibreNMS necesitan permisos especiales en los directorios y archivos a los que desean acceder. Configúrelo ejecutando el siguiente comando

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 el siguiente comando para instalar todas las dependencias requeridas por PHP en su servidor Debian 10. Esto puede tardar algún tiempo en completarse.

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

Debería ver un resultado similar al siguiente

Paso 7: configuración de la base de datos

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

Inicie sesión en su base de datos

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

Crear base de datos y usuario 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 siguientes líneas debajo de la sección [mysqld]

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

Agregue lo siguiente a continuación [mysqld]

[mysql]
........
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 en php.ini esté configurado en la zona horaria preferida.

sudo vim /etc/php/7.3/fpm/php.ini

Abajo [Fecha] Descomente la línea fecha.zona horaria y agregue su zona horaria.

  [Date]
 ; Defines the default timezone used by the date functions
 ; https://php.net/date.timezone
 date.timezone = Africa/Nairobi ## Place your time zone here
sudo vim /etc/php/7.3/cli/php.ini

Como arriba, debajo de [Fecha] Descomente la línea fecha.zona horaria y agregue su zona horaria.

 [Date]
 ; Defines the default timezone used by the date functions
 ; https://php.net/date.timezone
 date.timezone = Africa/Nairobi   ## Place your time zone here 

Reiniciar PHP-FPM

sudo systemctl restart php7.3-fpm

Paso 9: configurar el servidor web Nginx

Dado que elegimos Nginx como nuestro servidor web preferido, es hora de agregar configuración para que podamos comenzar a servir páginas LibreNMS.

Elimine la página predeterminada cargada 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 y agregue el siguiente contenido

sudo vim /etc/nginx/conf.d/libreconfig.conf
server {
  listen      80;
  server_name 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/php7.3-fpm.sock;
  }
  location ~ /.ht {
   deny all;
  }
 }

Reiniciar Nginx

sudo systemctl restart nginx

Paso 10: configurar el demonio snmp (snmpd)

LibreNMS hace un uso extensivo de SNMP para recopilar métricas de dispositivos y servidores 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 siguiente línea:

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

Como se mencionó anteriormente, cambie RANDOMSTRINGGOESHERE a su propia cadena de comunidad.

Extraiga el archivo siguiente para hacerlo ejecutable, luego reinicie el demonio snmp

Este archivo detectará 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 los registros en /opt/librenms/logs. Con el tiempo, pueden crecer y ser eliminados. 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: Configura Cron para que funcione

Este trabajo cron hace mucho trabajo, como buscar actualizaciones, descubrir dispositivos automáticamente, etc.

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

Paso 13: Instalador web LibreNMS

Ahora vaya al instalador web y siga las instrucciones en pantalla.

https:// IP or FQDN /install.php

El instalador web puede solicitarle que cree manualmente un archivo config.php en la ubicación de instalación de librenms y copie el contenido que se muestra en la pantalla en ese archivo. Si tiene que hacer esto, recuerde establecer permisos en config.php después de copiar el contenido de la pantalla a un archivo. correr:

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

Después del proceso de instalación, puede ver las imágenes a continuación como guía.

Ingrese el usuario de su base de datos, el pase de la base de datos y el nombre de la base de datos.

Dale tiempo para importar la base de datos.

Agregue un usuario que utilizará para iniciar sesión en LibreNMS en el futuro.

Configuración de compilación

Después de generar la configuración, ejecute el siguiente comando

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

terminar la instalación

Haga clic en el enlace "Verificar instalación y resolver todos los problemas" para completar

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

en conclusión

Ahora que hemos instalado la herramienta de monitoreo LibreNMS, todavía nos queda mucho trabajo por hacer. Incluye agregar dispositivos, crear alertas, crear umbrales, ajustar el rendimiento y más. Espero que esta guía sea útil y gracias por venir. Te recomendamos leer algunosDocumentación de LibreNMSLe permitimos continuar con el siguiente paso.

También puedes seguir estas pautas.

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 usando Letsencrypt y Nginx

Cómo instalar y configurar Zabbix Agent 4.0 en Ubuntu 18.04 y CentOS 7

Instale el servidor Zabbix en Ubuntu 18.04

Cómo instalar y configurar LibreNMS en Ubuntu 18.04 LTS usando Nginx

Artículos Relacionados