Come installare lo strumento di monitoraggio LibreNMS con Nginx su centOS 7

Sappiamo molto bene che quando utilizziamo le distribuzioni Linux abbiamo la possibilità di implementare centinaia, o forse migliaia, di applicazioni e programmi open source che, oltre ad essere gratuiti, aumenteranno drasticamente le capacità dei nostri team.

Esistono applicazioni sviluppate per ogni area di un'organizzazione ed è per questo che oggi Solvetic analizzerà in dettaglio come installare lo strumento LibreNMS e quindi ci consentirà come amministratori di avere a portata di mano un potente strumento di analisi e monitoraggio, permettendoci così di essere consapevole di tutti i cambiamenti che interessano la distro su cui stiamo lavorando.

Cos'è LibreNMSLibreNMS è uno strumento di monitoraggio open source basato su PHP, MYSQL e SNMP. LibreNMS è un sistema di monitoraggio di rete completo per un'ampia gamma di hardware e sistemi operativi di rete, inclusi FreeBSD, Cisco, Linux, HP e altri.

Quando si utilizza LibreNMS avremo le seguenti caratteristiche:

  • Rilevamento automatico, poiché consente di rilevare automaticamente l'intera rete utilizzando CDP, FDP, LLDP, OSPF, BGP, SNMP e ARP
  • Avvisi configurabili, che ci consentono di ricevere avvisi via e-mail, irc, slack e altro
  • Accedi tramite API per gestire, rappresentare graficamente e recuperare i dati dalla tua installazione
  • Ha un sistema di raccolta attraverso il quale possiamo generare fatture di larghezza di banda per le porte di rete in base all'uso o al trasferimento
  • Ha aggiornamenti automatici
  • Alti livelli di scalabilità
  • Ha applicazioni per Android e iOS
  • Ampio supporto per dispositivi
  • Interfaccia utente web ottimizzata per dispositivi mobili
  • Agente Unix
  • Può essere integrato con NfSen, collectd, SmokePing, RANCID e Oxidized
  • Supporta i metodi di autenticazione MySQL, HTTP, LDAP, Radius e Active Directory

Requisiti precedentiPer installare e utilizzare LibreNMS avrai bisogno di quanto segue:

  • CentOS 7 Minimo
  • Utente con privilegi di root

1. Installazione dei pacchetti Linux richiesti


Prima di installare LibreNMS su CentOS 7, sarà necessario installare alcuni pacchetti, tra cui ImageMagick, rrdtool, SNMP, git e altro. Questi pacchetti possono essere installati con il seguente comando:
 yum -y install net-snmp ImageMagick jwhois nmap mtr rrdtool MySQL-python net-snmp-utils cronie fping git

INGRANDIRE

Una volta completata l'installazione, vedremo quanto segue:

INGRANDIRE

2. Come installare il server Nginx


Nginx [engine x] è un server HTTP e un proxy inverso, un server proxy di posta e un server proxy TCP/UDP generico, originariamente scritto da Igor Sysoev. Per molto tempo è stato eseguito su molti siti russi molto caricati tra cui Yandex, Mail.Ru, VK e Rambler ed è attualmente utilizzato come server HTTP a livello globale.

Passo 1
Prima di installare Nginx, dobbiamo installare i repository epel per l'installazione del server web Nginx. Il repository EPEL (Additional Packages for Enterprise Linux) è un repository aggiuntivo per il sistema operativo basato su RPM, incluso CentOS 7. Eseguiremo quanto segue:

 yum -y install epel-release

INGRANDIRE

Passo 2
Ora procediamo con l'installazione del server Nginx con il seguente comando:

 yum -y installa nginx

INGRANDIRE

Passaggio 3
Una volta installato Nginx su CentOS 7, vedremo quanto segue:

INGRANDIRE

Passaggio 4
Dopo aver installato Nginx su CentOS 7, avvieremo il servizio e ne abiliteremo l'esecuzione automatica all'avvio utilizzando i seguenti comandi systemctl:

 systemctl avvia nginx systemctl abilita nginx

INGRANDIRE

Passaggio 5
Pertanto, il web server Nginx è stato installato sul sistema dal repository EPEL e possiamo verificarlo eseguendo la seguente riga:

 netstat -plntu

INGRANDIRE

Lì vedremo le porte attraverso le quali ci collegheremo con Nginx.

3. Come installare e configurare PHP-FPM

Passo 1
In questo caso, utilizzeremo la versione 7 di PHP-FPM per l'installazione di LibreNMS. Tutti i pacchetti PHP 7 per CentOS 7 sono disponibili dal repository di terze parti e utilizzeremo la versione PHP 7 del repository "webtatic".
Per fare ciò, prima di tutto aggiungeremo al sistema il repository webtatic di PHP 7 utilizzando il seguente comando rpm:

 rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

INGRANDIRE

Passo 2
Successivamente, installeremo PHP 7 e tutte le estensioni necessarie dal repository wet usando yum:

 yum -y install php70w php70w-cli php70w-gd php70w-mysql php70w-snmp php70w-pear php70w-curl php70w-common php70w-fpm php70w-mcrypt

INGRANDIRE

Passaggio 3
Una volta scaricato e installato, aggiorneremo il repository PEAR e installeremo alcune estensioni PEAR (estensione PHP e repository applicazioni) utilizzando il comando pear:

 aggiornamento del canale pera pear.php.net installazione pera Net_IPv4-1.3.4 installazione pera Net_IPv6-1.2.2b2

INGRANDIRE

Successivamente, configureremo PHP-FPM per l'installazione di LibreNMS.

Passaggio 4
Innanzitutto, sarà necessario definire il fuso orario predefinito nel file php.ini e assicurarsi che il fuso orario corrisponda al fuso orario corrente utilizzato dal sistema. Possiamo verificare il fuso orario corrente utilizzato dal tuo sistema tramite il seguente comando:

 timedatectl

INGRANDIRE

Passaggio 5
Una volta definito il fuso orario procediamo a modificare il file php.ini nel seguente percorso: /etc/php.ini, possiamo farlo con qualsiasi editor come nano o vim:

 nano /etc/php.ini
Nel file che verrà visualizzato apporteremo le seguenti modifiche:

Rimuoveremo il commento dalla riga date.timezone e aggiungeremo la zona visualizzata dal comando timedatectl

INGRANDIRE

Rimuoveremo il commento dalla riga cgi.fix_pathinfo e assegneremo il suo valore a zero (0)

INGRANDIRE

Salviamo le modifiche utilizzando la combinazione di tasti Ctrl + O e usciamo dall'editor utilizzando Ctrl + X.

Passaggio 6
Il prossimo passo è definire come PHP-FPM viene eseguito sul sistema. In questo caso, PHP-FPM verrà eseguito sotto il file 'sock' invece della porta del server. Modifica il file 'www.conf' con nano per configurare PHP-FPM:

 nano /etc/php-fpm.d/www.conf
Lì cambieremo la linea di ascolto, che ha il valore predefinito di 127.0.0.1:9000, con la seguente:
 listen = /var/run/php-fpm/php7.0-fpm.sock

INGRANDIRE

Passaggio 7
Nello stesso file rimuoveremo il commento dalle righe seguenti. Salviamo le modifiche sul server.

 listen.owner = nginx listen.group = nginx listen.mode = 0660
PHP-FPM è ora completo, possiamo avviare il servizio e abilitarlo per l'esecuzione automatica all'avvio utilizzando i seguenti comandi:
 systemctl avvia php-fpm systemctl abilita php-fpm
Controlleremo che PHP-FPM sia in esecuzione nel file calzino, questo può essere verificato con il comando netstat:
 netstat -pl | grep php

INGRANDIRE

4. Come installare e configurare MariaDB

Passo 1
LibreNMS utilizza il database MySQL per archiviare tutti i dati. In questo caso, utilizzeremo la versione del database MariaDB che è disponibile nel repository e sarà necessario installare e aggiungere alcune configurazioni per l'installazione di LibreNMS, inclusa l'aggiunta del database e dell'utente per LibreNMS.

Installeremo MariaDB eseguendo quanto segue:

 yum -y install mariadb mariadb-server

INGRANDIRE

Passo 2
Una volta installato, avvieremo il servizio MariaDB e abiliteremo l'avvio automatico all'avvio:

 systemctl avvia mariadb systemctl abilita mariadb 

INGRANDIRE

Passaggio 3
Possiamo controllare il servizio con la sua rispettiva porta eseguendo quanto segue:

 netstat -plint

INGRANDIRE

Passaggio 4
Ora dobbiamo configurare la password di root di MariaDB usando il comando 'mysql_secure_installation': Nelle domande visualizzate risponderemo a quanto segue:

 Impostare la password di root? [S / n] S Rimuovere gli utenti anonimi? [S / n] S Non consentire l'accesso come root da remoto? [S / n] S Rimuovere il database di prova e accedervi? [S / n] Y Ricaricare le tabelle dei privilegi ora? [S / n] Sì

INGRANDIRE

In questo modo è stato installato MariaDB.

Passaggio 5
Il prossimo passo è creare un nuovo database e un nuovo utente per LibreNMS. Accedi alla riga di comando della shell mysql utilizzando il client mysql e con la nuova password assegnata:

 mysql -u root -p
Crea un nuovo database chiamato "librenms", un nuovo utente "librenms" con password "password123"
 CREA DATABASE librenms SET CARATTERI utf8 COLLATE utf8_unicode_ci; CREA UTENTE 'librenms' @ 'localhost' IDENTIFICATO DA 'password123'; CONCEDERE TUTTI I PRIVILEGI SU librenms * A 'librenms' @ 'localhost'; PRIVILEGI DI SCARICO;
Usciamo da MariaDB eseguendo il comando exit.

INGRANDIRE

5. Come configurare MySQL


Ora dobbiamo modificare il file my.cnf per aggiungere una nuova configurazione mysql. Modificheremo il file /etc/my.cnf usando nano:
 nano /etc/my.cnf
Nel file visualizzato incolleremo quanto segue nella sezione [mysqld]:
 innodb_file_per_table = 1 sql-mode = "" lower_case_table_names = 0

INGRANDIRE

Salviamo le modifiche. Ora riavvieremo il servizio MariaDB eseguendo quanto segue:

 systemctl riavvia mariadb

6. Come scaricare e configurare LibreNMS


Con tutto quanto sopra configurato, il prossimo passo è preparare il sistema per LibreNMS e per questo faremo quanto segue.

Passo 1
A questo punto creeremo un nuovo utente di sistema chiamato 'librenms', quindi definiremo la home directory per l'utente nella directory /opt/librenms e infine aggiungeremo l'utente librenms al gruppo nginx:

 useradd librenms -d / opt / librenms -M -rusermod -a -G librenms nginx
Una volta che l'utente è stato creato e aggiunto al rispettivo gruppo, andremo nella directory / opt / e scaricheremo il codice sorgente di LibreNMS usando il comando git clone come segue:
 useradd librenms -d / opt / librenms -M -r usermod -a -G librenms nginx

INGRANDIRE

Passo 2
Creeremo una nuova directory per i registri LibreNMS e i file rrd:

 mkdir -p / opt / librenms / logs / mkdir -p / opt / librenms / rrd / chmod 775 / opt / librenms / rrd /

INGRANDIRE

Ora cambieremo la proprietà di tutti i file e le directory nella directory /opt/librenms nell'utente e nel gruppo librenms eseguendo quanto segue:

 chown -R librenms: librenms / opt / librenms /

7. Come configurare l'host virtuale LibreNMS


LibreNMS è un'applicazione basata sul web e fino a questo punto stiamo utilizzando un server web Nginx per ospitarlo.
Creeremo un nuovo file host virtuale librenms.conf nella directory nginx conf.d eseguendo quanto segue:
 nano /etc/nginx/conf.d/librenms.conf
In questo nuovo file incolleremo quanto segue:
 server {# Aggiungi il tuo nome di dominio listen 80; nome_server librenms.irsyadf.me; # LibreNMS Webroot directory root / opt / librenms / html; indice index.php; # LibreNMS log access_log/opt/librenms/logs/access_log; error_log / opt / librenms / log / error_log; # Abilitazione della compressione Gzip su Nginx charset utf-8; gzip su; gzip_types testo / applicazione css / testo javascript / applicazione javascript / immagine x-javascript / svg + testo xml / testo normale / testo xsd / testo xsl / immagine xml / x-icon; posizione / {try_files $ uri $ uri / /index.php?$query_string; } posizione / api / v0 {try_files $ uri $ uri / /api_v0.php?$query_string; } # PHP-FPM gestisce tutti i file .php richiede la posizione ~ \ .php {include fastcgi.conf; fastcgi_split_path_info (. + \. php) (/.+) $; fastcgi_pass unix: /var/run/php-fpm/php7.0-fpm.sock; } posizione ~ /\.ht {nega tutto; }}

INGRANDIRE

Possiamo salvare le modifiche usando i tasti Ctrl + O ed uscire dall'editor usando Ctrl + X. Ora possiamo testare la configurazione di Nginx eseguendo quanto segue:

 nginx -t

INGRANDIRE

Riavvieremo il servizio Nginx eseguendo:

 systemctl riavvia nginx

8. Come configurare il firewall in CentOS 7


Dobbiamo convalidare che i pacchetti firewalld siano installati sul tuo sistema, in caso contrario, possiamo installare firewalld con il seguente comando yum:
 yum -y install firewalld
Una volta installato, avvieremo firewalld e ne abiliteremo l'esecuzione all'avvio con i seguenti comandi systemctl:
 systemctl avvia firewalld systemctl abilita firewalld
Una volta abilitati aggiungeremo le seguenti righe per abilitare i rispettivi servizi:
 firewall-cmd --add-service = http --permanent firewall-cmd --add-service = https --permanent firewall-cmd --add-port = 161/udp -permanent
Applichiamo le modifiche ricaricando firewalld con il seguente comando:
 firewall-cmd -reload
Possiamo elencare le regole per confermare che i servizi sono stati aggiunti correttamente:
 firewall-cmd --list-all

INGRANDIRE

Accederemo da qualsiasi browser inserendo l'indirizzo IP del server, inseriremo le credenziali e questo sarà l'ambiente LibreNMS:

INGRANDIRE

Da lì possiamo effettuare tutta la gestione dei dispositivi associati.

wave wave wave wave wave