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