Kako instalirati LibreNMS alat za praćenje s Nginxom na centOS 7

Vrlo dobro znamo da pri korištenju Linux distribucija imamo mogućnost implementacije stotina, ili možda tisuća, aplikacija i programa otvorenog koda koji će, osim što će biti besplatni, drastično povećati mogućnosti naših timova.

Postoje aplikacije razvijene za svako područje organizacije i zato će danas Solvetic detaljno analizirati kako instalirati alat LibreNMS i na taj način omogućiti nama kao administratorima da imamo pri ruci moćan alat za analizu i nadzor, što nam omogućuje da budemo svjesni svih promjena koje utječu na distro na kojem radimo.

Što je LibreNMSLibreNMS je alat za praćenje otvorenog koda koji se temelji na PHP -u, MYSQL -u i SNMP -u. LibreNMS je potpuno opremljen sustav za nadzor mreže za širok raspon mrežnog hardvera i operacijskih sustava, uključujući FreeBSD, Cisco, Linux, HP i druge.

Kada koristimo LibreNMS imat ćemo sljedeće karakteristike:

  • Automatsko otkrivanje jer omogućuje automatsko otkrivanje cijele mreže pomoću CDP -a, FDP -a, LLDP -a, OSPF -a, BGP -a, SNMP -a i ARP -a
  • Konfigurabilna upozorenja koja nam omogućuju primanje upozorenja putem e -pošte, irc -a, slacka i još mnogo toga
  • Pristupite putem API -ja za upravljanje, iscrtavanje i dohvaćanje podataka iz vaše instalacije
  • Ima sustav prikupljanja putem kojeg možemo generirati fakture za propusnost za mrežne portove prema upotrebi ili prijenosu
  • Ima automatska ažuriranja
  • Visoka razina skalabilnosti
  • Ima aplikacije za Android i iOS
  • Široka podrška za uređaje
  • Web korisničko sučelje prilagođeno mobilnim uređajima
  • Unix agent
  • Može se integrirati s NfSen -om, prikupljanjem, SmokePing -om, RANCID -om i Oxidized -om
  • Podržava metode provjere autentičnosti MySQL, HTTP, LDAP, Radius i Active Directory

Prethodni zahtjeviZa instaliranje i korištenje LibreNMS -a trebat će vam sljedeće:

  • CentOS 7 Minimalno
  • Korisnik s root ovlastima

1. Instaliranje potrebnih Linux paketa


Prije instaliranja LibreNMS -a na CentOS 7, bit će potrebno instalirati neke pakete, uključujući ImageMagick, rrdtool, SNMP, git i još mnogo toga. Ovi se paketi mogu instalirati pomoću sljedeće naredbe:
 yum -y install net-snmp ImageMagick jwhois nmap mtr rrdtool MySQL-python net-snmp-utils cronie fping git

POVEĆAJTE

Nakon dovršetka instalacije vidjet ćemo sljedeće:

POVEĆAJTE

2. Kako instalirati Nginx poslužitelj


Nginx [engine x] je HTTP poslužitelj i obrnuti proxy, poštanski proxy poslužitelj i generički TCP / UDP proxy poslužitelj, izvorno je napisao Igor Sysoev. Već duže vrijeme radi na mnogim jako učitanim ruskim web stranicama, uključujući Yandex, Mail.Ru, VK i Rambler, a trenutno se globalno koristi kao HTTP poslužitelj.

Korak 1
Prije instaliranja Nginxa moramo instalirati epel spremišta za instalaciju web poslužitelja Nginx. Spremište EPEL (dodatni paketi za Enterprise Linux) dodatno je spremište za OS zasnovane na RPM-u, uključujući CentOS 7. Izvršit ćemo sljedeće:

 yum -y instalirajte epel -release

POVEĆAJTE

Korak 2
Sada nastavljamo s instalacijom Nginx poslužitelja sa sljedećom naredbom:

 yum -y instalirajte nginx

POVEĆAJTE

Korak 3
Nakon što je Nginx instaliran na CentOS 7, vidjet ćemo sljedeće:

POVEĆAJTE

Korak 4
Nakon instaliranja Nginxa na CentOS 7, pokrenut ćemo uslugu i omogućiti joj automatsko pokretanje pri pokretanju pomoću sljedećih naredbi systemctl:

 systemctl start nginx systemctl omogućiti nginx

POVEĆAJTE

Korak 5
Stoga je web poslužitelj Nginx instaliran na sustavu iz spremišta EPEL -a i to možemo provjeriti izvršavanjem sljedeće linije:

 netstat -plntu

POVEĆAJTE

Tamo ćemo vidjeti portove preko kojih ćemo se povezati s Nginxom.

3. Kako instalirati i konfigurirati PHP-FPM

Korak 1
U ovom slučaju koristit ćemo verziju 7 PHP-FPM-a za instalaciju LibreNMS-a. Svi paketi PHP 7 za CentOS 7 dostupni su iz spremišta treće strane, a mi ćemo koristiti PHP 7 verziju spremišta 'webtatic'.
Da bismo to učinili, prije svega ćemo sustavu dodati PHP 7 webtatic spremište pomoću sljedeće naredbe rpm:

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

POVEĆAJTE

Korak 2
Zatim ćemo instalirati PHP 7 i sva potrebna proširenja iz mokrog spremišta pomoću yum -a:

 yum -y instalirajte php70w php70w-cli php70w-gd php70w-mysql php70w-snmp php70w-kruška php70w-curl php70w-uobičajeno php70w-fpm php70w-mcrypt

POVEĆAJTE

Korak 3
Nakon preuzimanja i instaliranja ažurirat ćemo PEAR spremište i instalirati neka PEAR proširenja (PHP proširenje i spremište aplikacija) pomoću naredbe pear:

 kruškovo ažuriranje kanala pear.php.net kruškovo instaliranje Net_IPv4-1.3.4 kruškovo instaliranje Net_IPv6-1.2.2b2

POVEĆAJTE

Zatim ćemo konfigurirati PHP-FPM za instalaciju LibreNMS.

Korak 4
Prvo će biti potrebno definirati zadanu vremensku zonu u datoteci php.ini i pobrinuti se da vremenska zona odgovara trenutnoj vremenskoj zoni koju koristi sustav. Trenutnu vremensku zonu koju koristi vaš sustav možemo provjeriti pomoću sljedeće naredbe:

 timedatectl

POVEĆAJTE

Korak 5
Nakon što definiramo vremensku zonu, nastavljamo uređivati ​​datoteku php.ini na sljedeći način: /etc/php.ini, to možemo učiniti s bilo kojim uređivačem, poput nano ili vim:

 nano /etc/php.ini
U datoteci koja će se prikazati izvršit ćemo sljedeće promjene:

Raskomentirat ćemo red date.timezone i dodati zonu prikazanu naredbom timedatectl

POVEĆAJTE

Raskomentirat ćemo cgi.fix_pathinfo redak i dodijeliti njegovu vrijednost nuli (0)

POVEĆAJTE

Promjene spremamo kombinacijom tipki Ctrl + O i izlazimo iz uređivača pomoću Ctrl + X.

Korak 6
Sljedeći korak je definiranje načina na koji PHP-FPM radi na sustavu. U ovom slučaju, PHP-FPM će se izvoditi ispod datoteke 'sock' umjesto porta poslužitelja. Uredite datoteku 'www.conf' s nano za konfiguriranje PHP-FPM:

 nano /etc/php-fpm.d/www.conf
Tamo ćemo liniju za slušanje, koja ima zadanu vrijednost 127.0.0.1:9000, promijeniti na sljedeće:
 poslušajte = /var/run/php-fpm/php7.0-fpm.sock

POVEĆAJTE

Korak 7
U istoj datoteci raskomentirat ćemo sljedeće retke. Promjene spremamo na poslužitelj.

 listen.owner = nginx listen.group = nginx listen.mode = 0660
PHP-FPM je sada dovršen, možemo pokrenuti uslugu i omogućiti joj automatsko pokretanje pri pokretanju pomoću sljedećih naredbi:
 systemctl start php-fpm systemctl omogućiti php-fpm
Provjerit ćemo radi li PHP-FPM pod datotekom sock, to se može provjeriti naredbom netstat:
 netstat -pl | grep php

POVEĆAJTE

4. Kako instalirati i konfigurirati MariaDB

Korak 1
LibreNMS koristi MySQL bazu podataka za pohranu svih podataka. U ovom slučaju koristit ćemo verziju baze podataka MariaDB koja je dostupna u spremištu, a bit će potrebno instalirati i dodati određenu konfiguraciju za instalaciju LibreNMS -a, uključujući dodavanje baze podataka i korisnika za LibreNMS.

Instalirat ćemo MariaDB izvršavanjem sljedećeg:

 yum -y instalirajte mariadb mariadb -server

POVEĆAJTE

Korak 2
Nakon instalacije pokrenut ćemo uslugu MariaDB i omogućiti joj automatsko pokretanje pri pokretanju:

 systemctl start mariadb systemctl omogućiti mariadb 

POVEĆAJTE

Korak 3
Uslugu možemo provjeriti s pripadajućim priključkom izvršavanjem sljedećeg:

 netstat -plintu

POVEĆAJTE

Korak 4
Sada moramo konfigurirati root lozinku za MariaDB pomoću naredbe 'mysql_secure_installation': Na prikazana pitanja odgovorit ćemo na sljedeće:

 Postaviti root lozinku? [Y / n] Y Ukloniti anonimne korisnike? [Y / n] Y Želite li daljinski onemogućiti root prijavu? [Y / n] Y Ukloniti testnu bazu podataka i pristupiti joj? [Y / n] Y Odmah učitati tablice privilegija? [Y / n] Y

POVEĆAJTE

Na ovaj način je instaliran MariaDB.

Korak 5
Sljedeći korak je stvaranje nove baze podataka i novog korisnika za LibreNMS. Prijavite se u naredbeni redak ljuske mysql pomoću klijenta mysql i s dodijeljenom novom lozinkom:

 mysql -u korijen -p
Izradite novu bazu podataka pod nazivom 'librenms', novog korisnika 'librenms' s lozinkom 'password123'
 CREATE DATABASE librenms SET LIKOVA utf8 COLLATE utf8_unicode_ci; CREATE USER 'librenms' @ 'localhost' IDENTIFIKIRANO 'password123'; ODOBRITE SVE PRIVILEGIJE NA librenms. * NA 'librenms' @ 'localhost'; FLUSH PRIVILEGIJE;
Iz MariaDB izlazimo izvođenjem naredbe exit.

POVEĆAJTE

5. Kako konfigurirati MySQL


Sada moramo urediti datoteku my.cnf kako bismo dodali novu mysql konfiguraciju. Uredit ćemo /etc/my.cnf datoteku pomoću nano:
 nano /etc/my.cnf
U prikazanu datoteku zalijepit ćemo sljedeće u odjeljak [mysqld]:
 innodb_file_per_table = 1 sql-mode = "" niža_name_naziv_tabela = 0

POVEĆAJTE

Spremamo promjene. Sada ćemo ponovno pokrenuti uslugu MariaDB izvršavanjem sljedećeg:

 systemctl ponovno pokrenite mariadb

6. Kako preuzeti i konfigurirati LibreNMS


S obzirom na sve gore navedeno, sljedeći korak je priprema sustava za LibreNMS, a za to ćemo učiniti sljedeće.

Korak 1
U ovom trenutku stvorit ćemo novog korisnika sustava pod nazivom 'librenms', zatim ćemo definirati kućni direktorij za korisnika u direktoriju / opt / librenms i na kraju ćemo dodati korisnika librenms u grupu nginx:

 useradd librenms -d / opt / librenms -M -rusermod -a -G librenms nginx
Nakon što se korisnik stvori i doda u odgovarajuću grupu, otići ćemo u direktorij / opt / i preuzeti izvorni kod LibreNMS pomoću naredbe git clone na sljedeći način:
 useradd librenms -d / opt / librenms -M -r usermod -a -G librenms nginx

POVEĆAJTE

Korak 2
Izradit ćemo novi direktorij za zapisnike LibreNMS i rrd datoteke:

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

POVEĆAJTE

Sada ćemo promijeniti vlasništvo svih datoteka i direktorija u / opt / librenms direktoriju u librenms korisnika i grupu izvršavanjem sljedećeg:

 chown -R librenms: librenms / opt / librenms /

7. Kako konfigurirati LibreNMS virtualni host


LibreNMS je web-aplikacija i do sada koristimo Nginx web poslužitelj za njegovo hostiranje.
Izradit ćemo novu virtualnu datoteku hosta librenms.conf u direktoriju nginx conf.d izvršavanjem sljedećeg:
 nano /etc/nginx/conf.d/librenms.conf
U ovu novu datoteku zalijepit ćemo sljedeće:
 server {# Dodajte svoje ime domene listen 80; server_name librenms.irsyadf.me; # LibreNMS Webroot direktorij root / opt / librenms / html; index index.php; # Zapisnici LibreNMS access_log / opt / librenms / logs / access_log; error_log / opt / librenms / logs / error_log; # Omogućavanje Gzip kompresije na Nginx charset utf-8; gzip uključen; gzip_types tekst / css aplikacija / javascript tekst / javascript aplikacija / x-javascript slika / svg + xml tekst / običan tekst / xsd tekst / xsl tekst / xml slika / x-ikona; lokacija / {try_files $ uri $ uri / /index.php?$query_string; } lokacija / api / v0 {try_files $ uri $ uri / /api_v0.php?$query_string; } # PHP-FPM obrađuje sve .php datoteke zahtjeva lokacije ~ \ .php {uključuje fastcgi.conf; fastcgi_split_path_info (. + \. php) (/.+) $; fastcgi_pass unix: /var/run/php-fpm/php7.0-fpm.sock; } lokacija ~ /\.ht {odbiti sve; }}

POVEĆAJTE

Promjene možemo spremiti pomoću tipki Ctrl + O i izaći iz uređivača pomoću Ctrl + X. Sada možemo testirati konfiguraciju Nginx pokretanjem sljedećeg:

 nginx -t

POVEĆAJTE

Ponovno ćemo pokrenuti uslugu Nginx izvršavanjem:

 systemctl ponovno pokrenite nginx

8. Kako konfigurirati vatrozid u CentOS -u 7


Moramo potvrditi da su firewalld paketi instalirani na vašem sustavu. Ako nisu, možemo instalirati firewalld sa sljedećom naredbom yum:
 yum -y instalirati firewalld
Nakon instalacije pokrenut ćemo firewalld i omogućiti mu pokretanje pri pokretanju sa sljedećim naredbama systemctl:
 systemctl start firewalld systemctl omogućiti firewalld
Nakon omogućavanja dodat ćemo sljedeće retke kako bismo omogućili odgovarajuće usluge:
 firewall-cmd --add-service = http --permanent firewall-cmd --add-service = https --permanent firewall-cmd --add-port = 161 / udp -permanent
Promjene primjenjujemo ponovnim učitavanjem firewalla sljedećom naredbom:
 firewall -cmd -reload
Možemo navesti pravila kako bismo potvrdili da su usluge ispravno dodane:
 firewall-cmd --list-all

POVEĆAJTE

Pristupit ćemo iz bilo kojeg preglednika unosom IP adrese poslužitelja, unijet ćemo vjerodajnice i ovo će biti okruženje LibreNMS:

POVEĆAJTE

Odatle možemo provoditi sve upravljanje povezanim uređajima.

wave wave wave wave wave