GNU/Linux >> Tutoriales Linux >  >> Ubuntu

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

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.


Ubuntu
  1. Cómo instalar la herramienta de monitoreo LibreNMS con Nginx en CentOS 7

  2. Cómo configurar la herramienta de monitoreo LibreNMS con Nginx en Ubuntu 16.04 LTS

  3. Cómo instalar MediaWiki con Nginx en Ubuntu 16.04

  4. Cómo instalar Magento con Nginx en Ubuntu 15.10

  5. Cómo instalar Nginx con Google PageSpeed ​​en Ubuntu 20.04

Cómo instalar la herramienta de monitoreo de Netdata en Ubuntu 20.04

Cómo implementar Ghost Blog con Nginx en Ubuntu 20.04

Cómo instalar Nginx con ModSecurity en Ubuntu 15.04

Cómo instalar la herramienta de monitoreo Prometheus en Ubuntu 20.04

Cómo configurar una VPN en Ubuntu

Cómo instalar Nextcloud 13 en Ubuntu 16.04 con Nginx