Cómo instalar la herramienta de monitoreo LibreNMS en Debian 11
En esta página
- Requisitos previos
- Instalar y configurar la base de datos MariaDB
- Instalar Nginx, PHP y las dependencias requeridas
- Instalar y configurar LibreNMS
- Configurar Nginx para LibreNMS
- Acceda al asistente de instalación web de LibreNMS
- Conclusión
LibreNMS es una herramienta de monitoreo de red gratuita, de código abierto, basada en la web y de detección automática, escrita en PHP. Utiliza MySQL o MariaDB como base de datos y usa SNMP para descubrir los clientes remotos. Es compatible con una amplia gama de dispositivos de red, incluidos Linux, Cisco, Juniper, FreeBSD, HP, Windows y más. Admite múltiples métodos de autenticación, incluidos Radius, Active Directory, LDAP, MySQL y más. Es simple, fácil de usar y fácil de entender y usar para cualquier persona.
En este tutorial, explicaré cómo instalar LibreNMS con Nginx en Debian 11.
requisitos previos
- Un servidor que ejecuta Debian 11.
- Un nombre de dominio válido apuntado con la IP de su servidor.
- Se configura una contraseña raíz en su servidor.
Instalar y configurar la base de datos MariaDB
Primero, deberá instalar el servidor de base de datos MariaDB en su servidor. Puedes instalarlo usando el siguiente comando:
apt-get install mariadb-server -y
Una vez que se complete la instalación, ejecute el siguiente script para asegurar la instalación de MariaDB y establezca una contraseña de root:
mysql_secure_installation
Responda todas las preguntas como se muestra a continuación:
Enter current password for root (enter for none):
Switch to unix_socket authentication [Y/n] n
Change the root password? [Y/n] Y
New password:
Re-enter new password:
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n]
Reload privilege tables now? [Y/n] Y
Una vez que MariaDB esté asegurada, edite el archivo de configuración de MariaDB y modifique algunas configuraciones:
nano /etc/mysql/mariadb.conf.d/50-server.cnf
Agregue las siguientes líneas dentro de la sección [mysqld]:
innodb_file_per_table=1
lower_case_table_names=0
Guarde y cierre el archivo y luego reinicie MariaDB para aplicar los cambios:
systemctl restart mariadb
A continuación, inicie sesión en MariaDB con el siguiente comando:
mysql -u root -p
Una vez que haya iniciado sesión, cree una base de datos y un usuario para LibreNMS:
MariaDB [(none)]> CREATE DATABASE librenms CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
MariaDB [(none)]> CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'securepassword';
A continuación, otorgue todos los privilegios a la base de datos LibreNMS utilizando el siguiente comando:
MariaDB [(none)]> GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';
Finalmente, elimine los privilegios y salga del shell de MariaDB usando el siguiente comando:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Una vez que haya terminado, puede continuar con el siguiente paso.
Instale Nginx, PHP y las dependencias requeridas
A continuación, deberá instalar el servidor web Nginx, PHP y otras dependencias requeridas por LibreNMS. Puede instalarlos todos ejecutando el siguiente comando:
apt-get install nginx-full nmap php-cli php-curl php-fpm php-gd php-json php-mbstring php-mysql php-snmp php-xml php-zip python3-dotenv python3-pip python3-pymysql python3-redis python3-setuptools python3-systemd rrdtool snmp snmpd whois acl curl composer fping git graphviz imagemagick mtr-tiny
Una vez que todos los paquetes estén instalados, edite el archivo php.ini y configure su zona horaria:
nano /etc/php/7.4/fpm/php.ini
Cambie la siguiente línea:
date.timezone = UTC
Guarde y cierre el archivo cuando haya terminado.
Instalar y configurar LibreNMS
Primero, cree un usuario dedicado para LibreNMS usando el siguiente comando:
useradd librenms -d /opt/librenms -M -r -s /bin/bash
A continuación, agregue el usuario de LibreNMS al grupo www-data con el siguiente comando:
usermod -a -G librenms www-data
A continuación, descargue la última versión de LibreNMS desde el repositorio de GitHub al directorio /opt:
git clone https://github.com/librenms/librenms.git /opt/librenms
A continuación, establezca la propiedad y el permiso del directorio LibreNMS:
chown -R librenms:librenms /opt/librenms
chmod 775 /opt/librenms 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/
A continuación, cambie el usuario a LibreNMS con el siguiente comando:
su - librenms
A continuación, instale PHP composer con el siguiente comando:
cd /opt/librenms
./scripts/composer_wrapper.php install --no-dev
Una vez que Composer y otras dependencias de PHP estén instaladas, debería ver el siguiente resultado:
> @php artisan optimize
Configuration cache cleared!
Configuration cached successfully!
Route cache cleared!
Routes cached successfully!
Files cached successfully!
> @php artisan config:clear
Configuration cache cleared!
> scripts/dynamic_check_requirements.py || pip3 install --user -r requirements.txt || :
Requirement already satisfied: PyMySQL!=1.0.0 in /usr/lib/python3/dist-packages (from -r requirements.txt (line 1)) (0.9.3)
Requirement already satisfied: python-dotenv in /usr/lib/python3/dist-packages (from -r requirements.txt (line 2)) (0.15.0)
Requirement already satisfied: redis>=3.0 in /usr/lib/python3/dist-packages (from -r requirements.txt (line 3)) (3.5.3)
Requirement already satisfied: setuptools in /usr/lib/python3/dist-packages (from -r requirements.txt (line 4)) (52.0.0)
Collecting psutil>=5.6.0
Downloading psutil-5.8.0-cp39-cp39-manylinux2010_x86_64.whl (293 kB)
Collecting command_runner>=1.3.0
Downloading command_runner-1.3.0-py3-none-any.whl (17 kB)
Installing collected packages: psutil, command-runner
Successfully installed command-runner-1.3.0 psutil-5.8.0
Luego, salga del usuario de LibreNMS usando el siguiente comando:
exit
A continuación, deberá crear un archivo de configuración independiente para PHP-FPM. Puedes crearlo con el siguiente comando:
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 de configuración librenms.conf con su editor favorito:
nano /etc/php/7.4/fpm/pool.d/librenms.conf
Cambie [www-data] a [librenms] y también actualice el conector de escucha:
user = librenms
group = librenms
listen = /run/php-fpm-librenms.sock
Guarde y cierre el archivo y luego reinicie el servicio PHP-FPM para aplicar los cambios de configuración:
systemctl restart php7.4-fpm
Una vez que haya terminado, puede continuar con el siguiente paso.
Configurar Nginx para LibreNMS
A continuación, deberá crear un archivo de configuración de host virtual Nginx para LibreNMS. Puedes crearlo con el siguiente comando:
nano /etc/nginx/conf.d/librenms.conf
Agregue las siguientes líneas:
server {
listen 80;
server_name libre.yourdomain.com;
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;
}
}
Guarde y cierre el archivo, luego verifique el Nginx para cualquier error de sintaxis con el siguiente comando:
nginx -t
Si todo está bien, obtendrá el siguiente resultado:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Finalmente, reinicie Nginx para aplicar los cambios.
systemctl restart nginx php7.4-fpm
También puede verificar el estado de Nginx usando el siguiente comando:
systemctl status nginx
Debería ver el siguiente resultado:
? nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2021-12-03 14:39:18 UTC; 18s ago
Docs: man:nginx(8)
Process: 39888 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Process: 39892 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Main PID: 39893 (nginx)
Tasks: 2 (limit: 2341)
Memory: 2.7M
CPU: 42ms
CGroup: /system.slice/nginx.service
??39893 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
??39894 nginx: worker process
Dec 03 14:39:18 debian11 systemd[1]: Starting A high performance web server and a reverse proxy server...
Dec 03 14:39:18 debian11 systemd[1]: nginx.service: Failed to parse PID from file /run/nginx.pid: Invalid argument
Dec 03 14:39:18 debian11 systemd[1]: Started A high performance web server and a reverse proxy server.
A continuación, copie el archivo de configuración del trabajo cron para habilitar la detección y el sondeo automáticos de los dispositivos recién agregados.
cp /opt/librenms/librenms.nonroot.cron /etc/cron.d/librenms
A continuación, copie el archivo de configuración logrotate para rotar los registros antiguos.
cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenms
Una vez que haya terminado, puede continuar con el siguiente paso.
Acceda al asistente de instalación web de LibreNMS
En este punto, LibreNMS está instalado y configurado con Nginx. Ahora puede acceder a la configuración basada en web de LibreNMS utilizando la URL http://libre.yourdomain.com. Debería ver la página de comprobación previa a la instalación:
Asegúrese de que todas las comprobaciones se realicen correctamente y luego haga clic en el icono de la base de datos. Debería ver la página de configuración de la base de datos:
Proporcione la información de su base de datos y haga clic en Verificar credenciales. Deberías ver la siguiente página:
Ahora, haga clic en el icono de la llave para configurar un usuario administrador:
Proporcione su nombre de usuario y contraseña de administrador y luego haga clic en el botón Agregar usuario. Una vez creado el usuario, debería ver la siguiente página:
Haga clic en el botón Sí icono . Debería ver la siguiente página:
Ahora, abra otra pestaña en su navegador web y escriba la URL https://libre.yourdomain.com/validate para validar la instalación. Deberías ver la siguiente página:
Proporcione su nombre de usuario y contraseña de administrador y haga clic en el botón Iniciar sesión. Deberías ver la siguiente página:
Conclusión
¡Felicidades! ha instalado con éxito LibreNMS con Nginx en Debian 11. Ahora puede comenzar a agregar dispositivos remotos a LibreNMS y comenzar a monitorearlos desde la ubicación central. No dude en preguntarme si tiene alguna pregunta.