Com instal·lar LibreNMS Monitoring Tool a Debian 11/10


LibreNMS és una eina de monitorització de xarxes de codi obert i amb totes les funcions que ofereix una àmplia gamma de funcions i capacitats de monitorització per als vostres dispositius de xarxa.

Les característiques principals inclouen:

  • Detecció automàtica de tota la vostra xarxa mitjançant els protocols ARP, SNMP, BGP, OSPF, LLDP i FDP.
  • Un sistema d'alertes altament personalitzable i que es pot ajustar per enviar alertes per correu electrònic, Slack i altres canals.
  • Un tauler de control senzill i fàcilment personalitzable.
  • Una API totalment extensa per gestionar i representar gràficament dades del vostre servidor de supervisió.
  • Ampli suport de dispositius: admet una àmplia gamma de proveïdors de maquinari com Cisco, Juniper, HP i molts més.
  • Actualitzacions automàtiques i correccions d'errors.
  • Autenticació multifactor.
  • Compatibilitat nativa per a aplicacions d'Android i iOS.
  • i molts més.

En aquesta guia, instal·larem l'eina de supervisió LibreNMS a Debian 11/10.

Pas 1: instal·leu Nginx, MariaDB i PHP

Per començar, actualitzeu els dipòsits i instal·leu els paquets de requisits previs de la següent manera:

$ sudo apt update
$ sudo apt install software-properties-common wget apt-transport-https

El següent pas és instal·lar Nginx i paquets addicionals com ara paquets curl, git, SNMP i python que requerirà l'eina de supervisió LibreNMS.

Per tant, executeu l'ordre:

$ sudo apt install nginx-full curl acl fping graphviz composer git imagemagick mtr-tiny nmap python3-pip python3-memcache python3-mysqldb python3-dotenv python3-pymysql rrdtool snmp snmpd whois python3-redis python3-systemd python3-setuptools python3-systemd

A continuació, instal·leu el servidor de bases de dades MariaDB, PHP i les extensions PHP addicionals que necessita l'eina de supervisió LibreNMS.

$ sudo apt install mariadb-server php php-fpm php-cli php-xml php-common php-gd php-json php-snmp php-pdo php-mysql php-zip php-curl php-mbstring php-pear php-bcmath

Un cop instal·lat, assegureu-vos d'habilitar els serveis Nginx, php-fpm, MariaDB i SNMP tal com es mostra.

$ sudo systemctl enable --now nginx
$ sudo systemctl enable --now php7.4-fpm
$ sudo systemctl enable --now mariadb
$ sudo systemctl enable --now snmpd.service

Pas 2: configureu TimeZone per a PHP

El següent pas requereix que configurem o establim la zona horària de PHP. Això es fa al fitxer php.ini, que és el fitxer de configuració PHP predeterminat.

Accediu als fitxers de configuració php.ini als camins següents mitjançant el vostre editor preferit.

$ sudo nano /etc/php/7.4/fpm/php.ini
$ sudo nano /etc/php/7.4/cli/php.ini

Navegueu fins al paràmetre date.timezone i configureu-lo a la vostra zona horària. Per obtenir una llista completa de totes les zones horàries compatibles, aneu al lloc oficial de PHP.

En aquest exemple, estem configurant la zona horària a UTC.

date.timezone = UTC

A continuació, deseu els canvis i sortiu dels fitxers.

Pas 3: creeu una base de dades per a LibreNMS

En aquest pas, crearem una base de dades per a la instal·lació de LibreNMS. Però primer, garantim la seguretat de la base de dades executant l'script següent:

$ sudo mysql_secure_installation

Seguiu les instruccions detallades que us guiaran sobre com crear la contrasenya d'arrel MariaDB, eliminar usuaris anònims i provar la base de dades i, finalment, no permetre l'inici de sessió d'arrel remot.

A continuació, inicieu sessió a MariaDB:

$ sudo mysql -u root -p

A continuació, executeu les ordres següents per crear una base de dades i un usuari de base de dades i assignar tots els privilegis a l'usuari de la base de dades.

CREATE DATABASE librenms_db CHARACTER SET utf8 COLLATE utf8_unicode_ci;
CREATE USER 'librenms_user'@'localhost' IDENTIFIED BY '[email '; 
GRANT ALL PRIVILEGES ON librenms_db.* TO 'librenms_user'@'localhost';

A continuació, deseu els canvis i sortiu del missatge de MariaDB.

FLUSH PRIVILEGES;
EXIT;

Es necessita una mica d'ajustament de la base de dades. Així que obriu el fitxer de configuració MariaDB que es mostra:

$ sudo vim /etc/mysql/mariadb.conf.d/50-server.cnf

A continuació, enganxeu les següents línies de codi a la secció mysqld.

innodb_file_per_table=1
lower_case_table_names=0

Deseu els canvis i sortiu del fitxer. Per aplicar els canvis, reinicieu el servidor de bases de dades.

$ sudo systemctl restart mariadb

Pas 4: afegiu un usuari de LibreNMS

També heu de crear un nou usuari de LibreNMS. Aquest és l'usuari amb el qual s'executarà LibreNMS. En aquest exemple, estem creant un usuari anomenat librenms amb els següents atributs.

$ sudo useradd librenms -d /opt/librenms -M -r -s /bin/bash
$ sudo usermod -aG librenms www-data

  • L'opció -d estableix el directori inicial de l'usuari de librenms al directori /opt/librenms.
  • L'opció -r configura l'usuari de librenms com a usuari del sistema.
  • L'opció -M omet la creació d'un directori inicial per a l'usuari, ja que ja s'ha definit mitjançant l'opció -d.
  • L'opció -s especifica el tipus de shell, en aquest cas, bash.

Pas 5: clonar el dipòsit Git de LibreNMS

Canviant de marxa, ara clonarem el dipòsit git de LibreNMS per començar a configurar-lo.

Executeu les ordres següents per clonar el repositori Git

$ cd /opt
$ sudo git clone https://github.com/librenms/librenms.git

A continuació, torneu al directori inicial.

$ cd  ~

A continuació, hem d'assignar la propietat i els permisos del directori al directori inicial de Librenms. Per aconseguir-ho, executeu les ordres següents:

$ sudo chown -R librenms:librenms /opt/librenms
$ sudo chmod 771 /opt/librenms

A més, modifiqueu les llistes de control d'accés per al directori inicial de Librenms mitjançant l'ordre setfacl. Això atorga al grup Librenms permís per llegir i escriure als subdirectoris del directori inicial.

$ 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/

Pas 6: instal·leu les dependències de PHP

PHP requereix algunes dependències durant la configuració de l'eina de supervisió LibreNMS. Per fer-ho, heu d'iniciar sessió com a librenmsuser.

$ sudo su - librenms

A continuació, instal·leu totes les dependències de PHP de la següent manera.

$ ./scripts/composer_wrapper.php install --no-dev

Un cop finalitzada la instal·lació de les dependències, sortiu de l'usuari de librenms.

$ exit

Pas 7: configureu PHP-FPM per a la instal·lació de LibreNMS

Seguint endavant, hem de fer alguns canvis a PHP-FPM per tal de donar suport al LibreNMS.

Per aconseguir això. Copieu el fitxer www.conf que és el fitxer de configuració de l'agrupació predeterminat al fitxer librenms.conf de la següent manera.

$ sudo cp /etc/php/7.4/fpm/pool.d/www.conf /etc/php/7.4/fpm/pool.d/librenms.conf

A continuació, editeu el fitxer librenms.conf.

$ sudo nano /etc/php/7.4/fpm/pool.d/librenms.conf

Canvieu els paràmetres d'usuari i grup a librenms tal com es mostra

user = librenms
group = librenms

A continuació, modifiqueu l'atribut listen a /run/php-fpm-librenms.sock de la manera següent.

listen = /run/php-fpm-librenms.sock

Deseu els canvis i sortiu de la configuració. Assegureu-vos de reiniciar el servei PHP-FPM per aplicar els canvis.

$ sudo systemctl restart php7.4-fpm

Pas 8: configureu el dimoni SNMP

El protocol SNMP és un protocol TCP/IP que recopila i organitza mètriques o informació dels dispositius gestionats a través d'una xarxa.

La majoria de les eines de supervisió com ara Cacti aprofiten el servei SNMP per recopilar informació dels amfitrions remots. I el LibreNMS també.

Per configurar el servei SNMP, seguiu endavant i copieu el fitxer snmpd.conf.example al fitxer /etc/snmp/snmpd.conf.

$ sudo cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf

A continuació, editeu el fitxer snmpd.conf.

$ sudo vim /etc/snmp/snmpd.conf

Localitzeu la cadena RANDOMSTRINGGOESHERE.

com2sec readonly  default         RANDOMSTRINGGOESHERE

Canvieu-lo a librenms.

com2sec readonly  default		  librenms

Deseu els canvis i sortiu.

A continuació, descarregueu el fitxer de distribució, que és un fitxer que detecta automàticament el sistema operatiu dels nodes gestionats i en distingeix la distribució.

$ sudo curl -o /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro

Feu que sigui executable i reinicieu el servei SNMP.

$ sudo chmod +x /usr/bin/distro
$ sudo systemctl restart snmpd

Pas 9: configureu Nginx per a LibreNMS

Amb Nginx com a servidor web preferit, hem de fer un pas addicional i configurar-lo per al servidor LibreNMS.

Primer, crearem un bloc de servidor Nginx tal com es mostra.

$ sudo nano /etc/nginx/sites-available/librenms

Enganxeu les següents línies de codis. Per a l'atribut server_name, proporcioneu el nom de domini registrat o l'adreça IP del vostre servidor.

server {
  listen      80;
  server_name 23.92.30.144;        
  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;
  }
 }

Deseu els canvis i sortiu del fitxer de configuració. A continuació, activeu el bloc del servidor Nginx creant un enllaç simbòlic tal com es mostra.

$ sudo ln -s /etc/nginx/sites-available/librenms /etc/nginx/sites-enabled/

A continuació, reinicieu Nginx per aplicar els canvis fets a la configuració.

$ sudo systemctl restart nginx

A més, podeu confirmar que tota la configuració de Nginx està bé executant l'ordre:

$ sudo nginx -t

Pas 10: copieu la configuració de Logrotate i Cron

Per defecte, LibreNMS emmagatzema els seus registres al directori /opt/librenms/logs. Amb el temps, això pot omplir fàcilment i presentar problemes d'espai. Per evitar-ho, es recomana la rotació dels fitxers de registre antics.

Per tant, copieu el fitxer logrotate al directori LibreNMS al directori /etc/logrotate.d/.

$ sudo cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenms

Igualment important, copieu el fitxer de treball de cron de la manera següent per permetre l'enquesta automàtica i el descobriment de nous dispositius

$ sudo cp /opt/librenms/librenms.nonroot.cron /etc/cron.d/librenms

Pas 11: completeu la configuració de LibreNMS des d'un navegador

Per completar la configuració des d'un navegador, aneu a l'URL següent:

http://server-ip

Això us portarà a la llista de verificació prèvia a la instal·lació que es mostra. Si tot sembla bé, feu clic a la icona base de dades a la dreta.

Assegureu-vos d'omplir tots els detalls de la base de dades i feu clic a Comprova les credencials.

Un cop validats els detalls de la base de dades, feu clic a Crear base de dades.

Quan supereu aquest pas, feu clic a la icona següent per crear un usuari administrador. Proporcioneu el nom d'usuari, la contrasenya i el correu electrònic de l'usuari administrador i feu clic a Afegeix usuari.

Finalment, feu clic a l'últim botó per finalitzar la instal·lació.

Trobareu aquest error informant-vos que l'instal·lador No s'ha pogut escriure el fitxer: /opt/librenms/.env.

Però no et preocupis. Simplement actualitzeu manualment el fitxer /opt/librenms/.env de nou amb els detalls de la base de dades proporcionats. Aquests detalls variaran en el vostre cas.

Per tant, accedeix al fitxer.

$ sudo nano /opt/librenms/.env

Suprimiu tot el contingut del fitxer i enganxeu els detalls proporcionats anteriorment al fitxer i deseu els canvis.

A continuació, torneu enrere i feu clic al botó Reintentar. Això us portarà a la pàgina d'inici de sessió de LibreNMS. Proporcioneu les credencials d'inici de sessió i feu clic a Iniciar sessió.

Un cop hàgiu iniciat la sessió, obtindreu un quadre de comandament. A partir d'aquí, podeu començar a afegir els vostres amfitrions i supervisar diverses mètriques.

I ja està. En aquesta guia, us hem explicat la instal·lació de l'eina de supervisió LibreNMS a Debian 11/10.