LibreNMS es una herramienta de monitoreo de red gratuita y de código abierto para el sistema operativo Linux. Puede monitorear diferentes sistemas operativos como Linux, Windows, FreeBSD y varios dispositivos de red como Cisco, Juniper, Foundry, FreeBSD, Brocade y muchos más con LibreNMS. Utiliza los protocolos SNMP, ARP, CDP, FDP, LLDP, OSPF y BGP para descubrir automáticamente toda la red. Tiene una interfaz web simple y fácil de usar que lo ayuda a monitorear todos los dispositivos desde el navegador web. Tiene un amplio conjunto de características que incluyen detección automática, alertas personalizables, acceso a API, actualizaciones automáticas y muchas más.
En este tutorial, le mostraremos instrucciones paso a paso sobre cómo instalar LibreNMS en Ubuntu 20.04.
Requisitos
- Un servidor con Ubuntu 20.04.
- Se ha configurado una contraseña de root.
Cómo empezar
Primero, se recomienda actualizar los paquetes de su sistema a la última versión. Puedes hacerlo con el siguiente comando:
apt-get update -y
Después de actualizar todos los paquetes, instale todas las dependencias necesarias para LibreNMS con el siguiente comando:
apt-get install rrdtool whois fping imagemagick graphviz mtr-tiny nmap python3-mysqldb snmp snmpd python3-pip python3-memcache mtr-tiny acl unzip git curl wget -y
Una vez que todas las dependencias estén instaladas, puede continuar con el siguiente paso.
Instalar servidor LEMP
A continuación, deberá instalar el servidor web Nginx, el servidor MariaDB, PHP y otras extensiones de PHP en su servidor. Puede instalarlos todos ejecutando el siguiente comando:
apt-get install nginx mariadb-server php php-pear php-cgi php-common php-curl php-mbstring php-gd php-mysql php-bcmath php-imap php-json php-xml php-snmp php-fpm php-zip -y
Después de instalar todos los paquetes, deberá configurar la zona horaria en su archivo php.ini.
Primero, encuentre la zona horaria de su sistema con el siguiente comando:
cat /etc/timezone
Debería ver el siguiente resultado:
Etc/UTC
A continuación, edite ambos archivos php.ini con el siguiente comando:
nano /etc/php/7.4/fpm/php.ini
nano /etc/php/7.4/cli/php.ini
Defina la zona horaria de su sistema como se muestra a continuación:
date.timezone = Etc/UTC
Guarde y cierre el archivo cuando haya terminado. Luego, reinicie el servicio PHP-FPM para aplicar los cambios:
systemctl restart php7.4-fpm
Una vez que haya terminado, puede continuar con el siguiente paso.
Configurar base de datos MariaDB
A continuación, deberá crear una base de datos y un usuario para LibreNMS.
Primero, inicie sesión en el shell de MariaDB con el siguiente comando:
mysql
Una vez que inicie sesión, cree una base de datos y un usuario con el siguiente comando:
MariaDB [(none)]> create database librenmsdb CHARACTER SET utf8 COLLATE utf8_unicode_ci;
MariaDB [(none)]> grant all privileges on librenmsdb.* to [email protected] IDENTIFIED by "password";
A continuación, elimine los privilegios y salga del shell de MariaDB con el siguiente comando:
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;
Luego, edite el archivo de configuración de MariaDB y agregue algunas configuraciones deseadas:
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 sql-mode="" lower_case_table_names=0
Guarde y cierre el archivo, luego reinicie el servicio MariaDB para aplicar los cambios:
systemctl restart mariadb
En este punto, su MariaDB está configurada. Ahora puede continuar con el siguiente paso.
Instalar y configurar LibreNMS
Primero, deberá crear un usuario separado para ejecutar LibreNMS. Puede agregarlo con el siguiente comando:
useradd -r -M -d /opt/librenms librenms
A continuación, agregue el usuario librenms al grupo www-data con el siguiente comando:
usermod -a -G librenms www-data
A continuación, cambie el directorio a /opt y descargue la última versión de LibreNMS con el siguiente comando:
cd /opt
git clone https://github.com/librenms/librenms.git librenms
A continuación, cree un archivo de registro para LibreNMS con el siguiente comando:
touch /opt/librenms/logs/librenms.log
A continuación, copie el archivo de configuración de muestra de SNMP con el siguiente comando:
cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf
A continuación, edite el archivo snmpd.conf:
nano /etc/snmp/snmpd.conf
Busque la siguiente línea:
com2sec readonly default RANDOMSTRINGGOESHERE
Y lo reemplazó con la siguiente línea:
com2sec readonly default mysnmpserverkey
Guarde y cierre el archivo, luego descargue el binario de la distribución SNMP y cópielo en la ubicación deseada:
curl -o distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro
chmod +x distro
mv distro /usr/bin/distro
A continuación, reinicie el servicio SNMP para aplicar los cambios:
systemctl restart snmpd
A continuación, también deberá copiar el archivo cron y logrotate de LibreNMS en la ubicación deseada. Puede copiarlos con el siguiente comando:
cp /opt/librenms/librenms.nonroot.cron /etc/cron.d/librenms
cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenms
Luego, cambie el directorio a librenms e instale las dependencias requeridas usando el siguiente comando:
cd /opt/librenms
./scripts/composer_wrapper.php install --no-dev
Una vez que todas las dependencias estén instaladas, cambie la propiedad del directorio librenms y otorgue los permisos necesarios con el siguiente comando:
chown -R www-data:librenms /opt/librenms
chmod -R 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/
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 librenms.example.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 /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.4-fpm.sock; } location ~ /\.ht { deny all; } }
Guarde y cierre el archivo, luego verifique Nginx en busca de cualquier error de sintaxis con el siguiente comando:
nginx -t
Debería ver el siguiente resultado:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
A continuación, reinicie el servicio Nginx para aplicar los cambios:
systemctl restart nginx
También puede verificar el estado del servicio Nginx usando el siguiente comando:
systemctl status nginx
Deberías obtener 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 Sat 2020-09-05 06:15:20 UTC; 4min 5s ago Docs: man:nginx(8) Process: 28239 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Process: 28250 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Main PID: 28253 (nginx) Tasks: 3 (limit: 2353) Memory: 3.4M CGroup: /system.slice/nginx.service ??28253 nginx: master process /usr/sbin/nginx -g daemon on; master_process on; ??28254 nginx: worker process ??28255 nginx: worker process Sep 05 06:15:20 ubuntu2004 systemd[1]: Starting A high performance web server and a reverse proxy server... Sep 05 06:15:20 ubuntu2004 systemd[1]: Started A high performance web server and a reverse proxy server.
Una vez que haya terminado, puede continuar con el siguiente paso.
Acceder a la interfaz web de LibreNMS
Ahora, abra su navegador web y acceda a LibreNMS usando la URL http://librenms.example.com. Se le redirigirá a la página de comprobación previa a la instalación:
Asegúrese de que todas las extensiones requeridas estén instaladas y luego haga clic en Base de datos ajustes. Debería ver la siguiente página:
Proporcione el nombre de usuario de su base de datos, el nombre de la base de datos, la contraseña y haga clic en Verificar Credenciales botón. Una vez que tenga éxito, debería ver la siguiente página:
Ahora, haga clic en Construir Base de datos botón. Debería ver la siguiente página:
A continuación, haga clic en Administrador usuario creación botón. Debería ver la siguiente página:
Proporcione su nombre de usuario, correo electrónico y contraseña de administrador y haga clic en Agregar Usuario botón. Debería ver la siguiente página:
A continuación, haga clic en Finalizar instalación botón. Debería ver la siguiente página:
A continuación, haga clic en "validar su instalación ". Debería ver la página de inicio de sesión de LibreNMS:
Proporcione su nombre de usuario y contraseña de administrador de LibreNMS y haga clic en Iniciar sesión botón. Debería ver el panel de control de LibreNMS:
Conclusión
¡Felicidades! Ha instalado y configurado con éxito la herramienta de monitoreo de red LibreNMS en el servidor Ubuntu 20.04. Ahora puede agregar un dispositivo o host y comenzar a monitorear desde el panel de control de LibreNMS. Siéntase libre de preguntarme si tiene alguna pregunta.