Cum se instalează instrumentul de monitorizare LibreNMS cu Nginx pe centOS 7

Știm foarte bine că atunci când folosim distribuții Linux avem posibilitatea de a implementa sute, sau poate mii, de aplicații și programe open source care, în afară de a fi gratuite, vor crește drastic capacitățile echipelor noastre.

Există aplicații dezvoltate pentru fiecare domeniu al unei organizații și de aceea astăzi Solvetic va analiza în detaliu modul de instalare a instrumentului LibreNMS și astfel ne permite ca administratori să avem la îndemână un instrument puternic de analiză și monitorizare, permițându-ne astfel să fim conștienți de toate schimbările care afectează distribuția la care lucrăm.

Ce este LibreNMSLibreNMS este un instrument de monitorizare open source bazat pe PHP, MYSQL și SNMP. LibreNMS este un sistem complet de monitorizare a rețelei pentru o gamă largă de hardware de rețea și sisteme de operare, inclusiv FreeBSD, Cisco, Linux, HP și multe altele.

Când utilizați LibreNMS, vom avea următoarele caracteristici:

  • Descoperire automată, deoarece permite descoperirea automată a întregii rețele folosind CDP, FDP, LLDP, OSPF, BGP, SNMP și ARP
  • Alerte configurabile, permițându-ne să primim alerte prin e-mail, IRC, slack și multe altele
  • Accesați prin API pentru a gestiona, grafica și prelua date din instalare
  • Are un sistem de colectare prin care putem genera facturi de lățime de bandă pentru porturile de rețea în funcție de utilizare sau transfer
  • Are actualizări automate
  • Niveluri ridicate de scalabilitate
  • Are aplicații pentru Android și iOS
  • Suport larg pentru dispozitiv
  • Interfață de utilizator web prietenoasă pentru mobil
  • Agent Unix
  • Poate fi integrat cu NfSen, collectd, SmokePing, RANCID și oxidat
  • Suportă metode de autentificare MySQL, HTTP, LDAP, Radius și Active Directory

Cerințe anterioarePentru a instala și utiliza LibreNMS veți avea nevoie de următoarele:

  • CentOS 7 Minimal
  • Utilizator cu privilegii de root

1. Instalarea pachetelor Linux necesare


Înainte de a instala LibreNMS pe CentOS 7, va fi necesar să instalați unele pachete, inclusiv ImageMagick, rrdtool, SNMP, git și multe altele. Aceste pachete pot fi instalate cu următoarea comandă:
 yum -y install net-snmp ImageMagick jwhois nmap mtr rrdtool MySQL-python net-snmp-utils cronie fping git

MARI

Odată ce instalarea este finalizată, vom vedea următoarele:

MARI

2. Cum se instalează serverul Nginx


Nginx [motor x] este un server HTTP și proxy invers, un server proxy de mail și un server proxy TCP / UDP generic, scris inițial de Igor Sysoev. De mult timp, rulează pe multe site-uri rusești încărcate puternic, inclusiv Yandex, Mail.Ru, VK și Rambler și este utilizat în prezent ca server HTTP la nivel global.

Pasul 1
Înainte de a instala Nginx, trebuie să instalăm depozitele epel pentru instalarea serverului web Nginx. Depozitul EPEL (pachete suplimentare pentru Enterprise Linux) este un depozit suplimentar pentru sistemul de operare bazat pe RPM, inclusiv CentOS 7. Vom executa următoarele:

 Da, instalează epel-release

MARI

Pasul 2
Acum continuăm cu instalarea serverului Nginx cu următoarea comandă:

 da -instalează nginx

MARI

Pasul 3
Odată ce Nginx este instalat pe CentOS 7 vom vedea următoarele:

MARI

Pasul 4
După instalarea Nginx pe CentOS 7, vom porni serviciul și îl vom permite să ruleze automat la pornire folosind următoarele comenzi systemctl:

 systemctl start nginx systemctl enable nginx

MARI

Pasul 5
Prin urmare, serverul web Nginx a fost instalat pe sistem din depozitul EPEL și îl putem verifica executând următoarea linie:

 netstat -plntu

MARI

Acolo vom vedea porturile prin care ne vom conecta cu Nginx.

3. Cum se instalează și se configurează PHP-FPM

Pasul 1
Pentru acest caz, vom utiliza versiunea 7 a PHP-FPM pentru instalarea LibreNMS. Toate pachetele PHP 7 pentru CentOS 7 sunt disponibile din depozitul terț și vom folosi versiunea PHP 7 a depozitului „webtatic”.
Pentru a face acest lucru, în primul rând vom adăuga depozitul webtatic PHP 7 la sistem folosind următoarea comandă rpm:

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

MARI

Pasul 2
Apoi, vom instala PHP 7 și toate extensiile necesare din depozitul umed folosind yum:

 da -instalează php70w php70w-cli php70w-gd php70w-mysql php70w-snmp php70w-pear php70w-curl php70w-common php70w-fpm php70w-mcrypt

MARI

Pasul 3
Odată descărcat și instalat, vom actualiza depozitul PEAR și vom instala câteva extensii PEAR (Extensie PHP și Depozit de aplicații) folosind comanda pear:

 pear channel-update pear.php.net pear install Net_IPv4-1.3.4 pear install Net_IPv6-1.2.2b2

MARI

Apoi, vom configura PHP-FPM pentru instalarea LibreNMS.

Pasul 4
În primul rând, va fi necesar să definiți fusul orar implicit în fișierul php.ini și să vă asigurați că fusul orar se potrivește cu fusul orar actual utilizat de sistem. Putem verifica fusul orar actual utilizat de sistemul dvs. prin următoarea comandă:

 timedatectl

MARI

Pasul 5
Odată ce definim fusul orar, continuăm să edităm fișierul php.ini în următoarea cale: /etc/php.ini, putem face acest lucru cu orice editor, cum ar fi nano sau vim:

 nano /etc/php.ini
În fișierul care va fi afișat vom face următoarele modificări:

Vom decomenta linia date.timezone și vom adăuga zona afișată de comanda timedatectl

MARI

Vom decomenta linia cgi.fix_pathinfo și îi vom atribui valoarea la zero (0)

MARI

Salvăm modificările folosind combinația de taste Ctrl + O și ieșim din editor folosind Ctrl + X.

Pasul 6
Următorul pas este de a defini modul în care PHP-FPM rulează pe sistem. În acest caz, PHP-FPM va rula sub fișierul „soc” în locul portului serverului. Editați fișierul „www.conf” cu nano pentru a configura PHP-FPM:

 nano /etc/php-fpm.d/www.conf
Acolo vom schimba linia de ascultare, care are valoarea implicită 127.0.0.1:9000, la următoarea:
 asculta = /var/run/php-fpm/php7.0-fpm.sock

MARI

Pasul 7
În același fișier vom descomenta următoarele rânduri. Salvăm modificările pe server.

 listen.owner = nginx listen.group = nginx listen.mode = 0660
PHP-FPM este acum complet, putem începe serviciul și îl putem permite să ruleze automat la pornire folosind următoarele comenzi:
 systemctl pornește php-fpm systemctl activează php-fpm
Vom verifica dacă PHP-FPM rulează sub fișierul șosete, acest lucru poate fi verificat cu comanda netstat:
 netstat -pl | grep php

MARI

4. Cum se instalează și se configurează MariaDB

Pasul 1
LibreNMS folosește baza de date MySQL pentru a stoca toate datele. În acest caz, vom folosi versiunea bazei de date MariaDB care este disponibilă în depozit și va fi necesar să instalați și să adăugați o anumită configurație pentru instalarea LibreNMS, inclusiv adăugarea bazei de date și a utilizatorului pentru LibreNMS.

Vom instala MariaDB executând următoarele:

 Da, instalează mariadb mariadb-server

MARI

Pasul 2
Odată instalat, vom porni serviciul MariaDB și îl vom activa să pornească automat la pornire:

 systemctl start mariadb systemctl enable mariadb 

MARI

Pasul 3
Putem verifica serviciul cu portul respectiv executând următoarele:

 netstat -plintu

MARI

Pasul 4
Acum trebuie să configurăm parola de root MariaDB folosind comanda „mysql_secure_installation”: În întrebările afișate vom răspunde la următoarele:

 Setați parola de root? [Da / Nu] Da Eliminați utilizatorii anonimi? [Y / n] Y Nu permiteți conectarea root la distanță? [Da / Nu] Da Eliminați baza de date de testare și accesați-o? [Y / n] Y Reîncărcați tabelele de privilegii acum? [Y / n] Y

MARI

În acest fel a fost instalat MariaDB.

Pasul 5
Următorul pas este crearea unei noi baze de date și a unui nou utilizator pentru LibreNMS. Conectați-vă la linia de comandă shell MySQL folosind clientul MySQL și cu noua parolă atribuită:

 mysql -u root -p
Creați o nouă bază de date numită „librenms”, un nou utilizator „librenms” cu parola „password123”
 CREAȚI BAZA DE BAZE librenms SET CARACTERE utf8 COLLATE utf8_unicode_ci; CREAȚI UTILIZATORUL 'librenms' @ 'localhost' IDENTIFICAT DE 'password123'; ACORDAȚI TOATE PRIVILEGIILE PE librenms. * LA „librenms” @ „localhost”; PRIVILEGII DE ÎNVĂȚARE;
Ieșim din MariaDB executând comanda exit.

MARI

5. Cum se configurează MySQL


Acum trebuie să edităm fișierul my.cnf pentru a adăuga o nouă configurație mysql. Vom edita fișierul /etc/my.cnf folosind nano:
 nano /etc/my.cnf
În fișierul afișat vom lipi următoarele în secțiunea [mysqld]:
 innodb_file_per_table = 1 sql-mode = "" lower_case_table_table_names = 0

MARI

Salvăm modificările. Acum vom reporni serviciul MariaDB executând următoarele:

 systemctl restart mariadb

6. Cum se descarcă și se configurează LibreNMS


Cu toate cele de mai sus configurate, următorul pas este pregătirea sistemului pentru LibreNMS și pentru aceasta vom face următoarele.

Pasul 1
În acest moment vom crea un nou utilizator de sistem numit „librenms”, apoi vom defini directorul de start pentru utilizator în directorul / opt / librenms și în cele din urmă vom adăuga utilizatorul librenms la grupul nginx:

 useradd librenms -d / opt / librenms -M -rusermod -a -G librenms nginx
Odată ce utilizatorul este creat și adăugat la grupul respectiv, vom merge la directorul / opt / și vom descărca codul sursă LibreNMS folosind comanda git clone după cum urmează:
 useradd librenms -d / opt / librenms -M -r usermod -a -G librenms nginx

MARI

Pasul 2
Vom crea un nou director pentru jurnalele LibreNMS și fișierele rrd:

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

MARI

Acum vom schimba proprietatea tuturor fișierelor și directoarelor din directorul / opt / librenms la utilizatorul și grupul librenms executând următoarele:

 chown -R librenms: librenms / opt / librenms /

7. Cum se configurează gazda virtuală LibreNMS


LibreNMS este o aplicație bazată pe web și până în acest moment folosim un server web Nginx pentru a-l găzdui.
Vom crea un nou fișier gazdă librenms.conf în directorul nginx conf.d executând următoarele:
 nano /etc/nginx/conf.d/librenms.conf
În acest nou fișier vom lipi următoarele:
 server {# Adăugați propriul nume de domeniu ascultați 80; server_name librenms.irsyadf.me; # LibreNMS Webroot director root / opt / librenms / html; index index.php; # LibreNMS logs access_log / opt / librenms / logs / access_log; error_log / opt / librenms / logs / error_log; # Activarea compresiei Gzip pe setul de caractere Nginx 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; locație / {try_files $ uri $ uri / /index.php?$query_string; } location / api / v0 {try_files $ uri $ uri / /api_v0.php?$query_string; } # PHP-FPM gestionează toate fișierele .php solicită locația ~ \ .php {include fastcgi.conf; fastcgi_split_path_info (. + \. php) (/.+) $; fastcgi_pass unix: /var/run/php-fpm/php7.0-fpm.sock; } location ~ /\.ht {deny all; }}

MARI

Putem salva modificările folosind tastele Ctrl + O și ieșim din editor folosind Ctrl + X. Acum putem testa configurația Nginx executând următoarele:

 nginx -t

MARI

Vom reporni serviciul Nginx executând:

 systemctl reporniți nginx

8. Cum se configurează firewall-ul în CentOS 7


Trebuie să validăm că pachetele firewalld sunt instalate pe sistemul dvs., dacă nu, putem instala firewalld cu următoarea comandă yum:
 yum -instalează firewalld
Odată instalat, vom porni firewalld și îl vom permite să ruleze la boot cu următoarele comenzi systemctl:
 systemctl start firewalld systemctl activate firewalld
Odată activat, vom adăuga următoarele linii pentru a activa serviciile respective:
 firewall-cmd --add-service = http --permanent firewall-cmd --add-service = https --permanent firewall-cmd --add-port = 161 / udp -permanent
Aplicăm modificările reîncărcând firewalld cu următoarea comandă:
 firewall-cmd -reload
Putem enumera regulile pentru a confirma că serviciile au fost adăugate corect:
 firewall-cmd --list-all

MARI

Vom accesa din orice browser introducând adresa IP a serverului, vom introduce acreditările și acesta va fi mediul LibreNMS:

MARI

De acolo putem efectua toată gestionarea dispozitivelor asociate.

wave wave wave wave wave