Cómo configurar la herramienta de monitoreo LibreNMS con Nginx en Ubuntu 20.04

Comprobación previa a la instalación

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 descubrimiento automático, 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 previos

  • Un servidor con Ubuntu 20.04.
  • Una contrase√Īa de root est√° configurada en.

Empezando

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 la 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 [mysqld] sección:

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. Puedes 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

Encuentra 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. Puedes 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 el Nginx para ver si hay alg√ļn 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:

Comprobación previa a la instalación

Aseg√ļrese de que todas las extensiones requeridas est√©n instaladas y luego haga clic en el Base de datos ajustes. Deber√≠as ver la siguiente p√°gina:

Configurar la base de datos

Proporcione el nombre de usuario de su base de datos, el nombre de la base de datos, la contrase√Īa y haga clic en el Controlar Cartas credenciales bot√≥n. Una vez que tenga √©xito, deber√≠a ver la siguiente p√°gina:

Construir la base de datos

Ahora, haga clic en el Construir Base de datos botón. Deberías ver la siguiente página:

Configurar base de datos

A continuación, haga clic en el Administración usuario creación botón. Deberías ver la siguiente página:

Crear usuario administrador

Proporcione su nombre de usuario de administrador, correo electr√≥nico, contrase√Īa y haga clic en el Agregar Usuario bot√≥n. Deber√≠as ver la siguiente p√°gina:

Instalación completa

A continuación, haga clic en el Finalizar instalación botón. Deberías ver la siguiente página:

Terminar la instalaciónAnuncio publicitario

A continuaci√≥n, haga clic en ¬ęvalida tu instalaci√≥n¬ę. Deber√≠a ver la p√°gina de inicio de sesi√≥n de LibreNMS:

Inicio de sesión de LibreNMS

Proporcione su nombre de usuario y contrase√Īa de administrador de LibreNMS y haga clic en el Acceso bot√≥n. Deber√≠a ver el panel de control de LibreNMS:

Configuración 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. No dude en preguntarme si tiene alguna pregunta.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *