Slik installerer du LibreNMS -overvåkingsverktøy med Nginx på centOS 7

Vi vet godt at når vi bruker Linux -distroer, har vi muligheten til å implementere hundrevis, eller kanskje tusenvis, av åpen kildekode -programmer og programmer som, bortsett fra å være gratis, vil øke kapasiteten til teamene våre drastisk.

Det er utviklet applikasjoner for hvert område av en organisasjon, og derfor vil Solvetic i dag analysere i detalj hvordan vi installerer LibreNMS -verktøyet og dermed tillate oss som administratorer å ha et kraftig analyse- og overvåkingsverktøy for hånden, og dermed la oss være klar over alle endringene som påvirker distroen vi jobber med.

Hva er LibreNMSLibreNMS er et open source -overvåkingsverktøy basert på PHP, MYSQL og SNMP. LibreNMS er et fullverdig nettverksovervåkingssystem for et bredt spekter av nettverksmaskinvare og operativsystemer, inkludert FreeBSD, Cisco, Linux, HP og mer.

Når vi bruker LibreNMS vil vi ha følgende egenskaper:

  • Automatisk oppdagelse, siden det gjør det mulig å automatisk oppdage hele nettverket ved hjelp av CDP, FDP, LLDP, OSPF, BGP, SNMP og ARP
  • Konfigurerbare varsler, slik at vi kan motta varsler via e -post, irc, slack og mer
  • Tilgang via API for å administrere, tegne og hente data fra installasjonen
  • Den har et innsamlingssystem som vi kan generere båndbreddefakturaer for nettverksporter i henhold til bruk eller overføring
  • Den har automatiske oppdateringer
  • Høy grad av skalerbarhet
  • Den har applikasjoner for Android og iOS
  • Bred enhetsstøtte
  • Mobilvennlig webbrukergrensesnitt
  • Unix -agent
  • Kan integreres med NfSen, collectd, SmokePing, RANCID og Oxidized
  • Støtter MySQL, HTTP, LDAP, Radius og Active Directory -godkjenningsmetoder

Tidligere kravFor å installere og bruke LibreNMS trenger du følgende:

  • CentOS 7 Minimal
  • Bruker med rotrettigheter

1. Installere de nødvendige Linux -pakkene


Før du installerer LibreNMS på CentOS 7, vil det være nødvendig å installere noen pakker, inkludert ImageMagick, rrdtool, SNMP, git og mer. Disse pakkene kan installeres med følgende kommando:
 yum -y install net-snmp ImageMagick jwhois nmap mtr rrdtool MySQL-python net-snmp-utils cronie fping git

FORSTØRRE

Når installasjonen er fullført, ser vi følgende:

FORSTØRRE

2. Slik installerer du Nginx -server


Nginx [engine x] er en HTTP -server og omvendt proxy, en proxy -server og en generisk TCP / UDP proxy -server, opprinnelig skrevet av Igor Sysoev. I lang tid har den kjørt på mange tungt lastede russiske nettsteder, inkludert Yandex, Mail.Ru, VK og Rambler, og brukes for tiden som en HTTP -server globalt.

Trinn 1
Før vi installerer Nginx, må vi installere epel -depotene for Nginx webserverinstallasjon. EPEL-depotet (tilleggspakker for Enterprise Linux) er et ekstra depot for RPM-basert operativsystem, inkludert CentOS 7. Vi vil utføre følgende:

 yum -y installer epel -release

FORSTØRRE

Steg 2
Nå fortsetter vi med installasjonen av Nginx -serveren med følgende kommando:

 yum -y installer nginx

FORSTØRRE

Trinn 3
Når Nginx er installert på CentOS 7, ser vi følgende:

FORSTØRRE

Trinn 4
Etter å ha installert Nginx på CentOS 7, starter vi tjenesten og lar den kjøre automatisk ved oppstart ved å bruke følgende systemctl -kommandoer:

 systemctl start nginx systemctl aktiver nginx

FORSTØRRE

Trinn 5
Derfor har Nginx webserver blitt installert på systemet fra EPEL -depotet, og vi kan kontrollere det ved å utføre følgende linje:

 netstat -plntu

FORSTØRRE

Der vil vi se portene vi vil koble til med Nginx.

3. Hvordan installere og konfigurere PHP-FPM

Trinn 1
I dette tilfellet vil vi bruke versjon 7 av PHP-FPM for LibreNMS-installasjonen. Alle PHP 7 -pakker for CentOS 7 er tilgjengelige fra tredjeparts depot, og vi vil bruke PHP 7 -versjonen av det 'webtatiske' depotet.
For å gjøre dette vil vi først legge til PHP 7 webtatic -depotet i systemet ved å bruke følgende rpm -kommando:

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

FORSTØRRE

Steg 2
Deretter installerer vi PHP 7 og alle nødvendige utvidelser fra våtlageret ved å bruke yum:

 yum -y installer php70w php70w-cli php70w-gd php70w-mysql php70w-snmp php70w-pear php70w-curl php70w-vanlig php70w-fpm php70w-mcrypt

FORSTØRRE

Trinn 3
Når den er lastet ned og installert, oppdaterer vi PEAR -depotet og installerer noen PEAR -utvidelser (PHP -utvidelse og applikasjonslager) ved å bruke kommandoen pear:

 pære kanal-oppdatering pear.php.net pære installere Net_IPv4-1.3.4 pære installere Net_IPv6-1.2.2b2

FORSTØRRE

Deretter vil vi konfigurere PHP-FPM for LibreNMS-installasjonen.

Trinn 4
Først vil det være nødvendig å definere standard tidssone i php.ini -filen og sørge for at tidssonen samsvarer med den nåværende tidssonen som brukes av systemet. Vi kan bekrefte gjeldende tidssone som systemet ditt bruker gjennom følgende kommando:

 timedatectl

FORSTØRRE

Trinn 5
Når vi har definert tidssonen, fortsetter vi med å redigere php.ini -filen i følgende bane: /etc/php.ini, kan vi gjøre dette med alle redaktører som nano eller vim:

 nano /etc/php.ini
I filen som skal vises, gjør vi følgende endringer:

Vi vil ikke kommentere linjen date.timezone og legge til sonen som vises med timedatectl -kommandoen

FORSTØRRE

Vi vil kommentere linjen cgi.fix_pathinfo og tildele verdien til null (0)

FORSTØRRE

Vi lagrer endringene ved hjelp av tastekombinasjonen Ctrl + O og avslutter editoren med Ctrl + X.

Trinn 6
Det neste trinnet er å definere hvordan PHP-FPM kjører på systemet. I dette tilfellet vil PHP-FPM kjøres under 'sokk' -filen i stedet for serverporten. Rediger filen 'www.conf' med nano for å konfigurere PHP-FPM:

 nano /etc/php-fpm.d/www.conf
Der vil vi endre lyttelinjen, som har standardverdien 127.0.0.1:9000, til følgende:
 lytt = /var/run/php-fpm/php7.0-fpm.sock

FORSTØRRE

Trinn 7
I den samme filen vil vi kommentere følgende linjer. Vi lagrer endringene på serveren.

 listen.owner = nginx listen.group = nginx listen.mode = 0660
PHP-FPM er nå fullført, vi kan starte tjenesten og la den kjøre automatisk ved oppstart ved å bruke følgende kommandoer:
 systemctl start php-fpm systemctl aktiver php-fpm
Vi vil kontrollere at PHP-FPM kjører under strømpefilen, dette kan bekreftes med kommandoen netstat:
 netstat -pl | grep php

FORSTØRRE

4. Hvordan installere og konfigurere MariaDB

Trinn 1
LibreNMS bruker MySQL -databasen for å lagre alle dataene. I dette tilfellet vil vi bruke versjonen av MariaDB -databasen som er tilgjengelig i depotet, og det vil være nødvendig å installere og legge til noen konfigurasjoner for LibreNMS -installasjonen, inkludert tillegg av databasen og brukeren for LibreNMS.

Vi installerer MariaDB ved å utføre følgende:

 yum -y installer mariadb mariadb -server

FORSTØRRE

Steg 2
Når den er installert, starter vi MariaDB -tjenesten og lar den starte automatisk ved oppstart:

 systemctl start mariadb systemctl aktiver mariadb 

FORSTØRRE

Trinn 3
Vi kan kontrollere tjenesten med den respektive porten ved å utføre følgende:

 netstat -plintu

FORSTØRRE

Trinn 4
Nå må vi konfigurere MariaDB -rotpassordet ved å bruke kommandoen 'mysql_secure_installation': I spørsmålene som vises vil vi svare på følgende:

 Angi root -passord? [Y / n] Y Vil du fjerne anonyme brukere? [Y / n] Y Vil du ikke tillate root -pålogging eksternt? [Y / n] Y Vil du fjerne testdatabasen og få tilgang til den? [Y / n] Y Last inn privilegietabellene nå? [J / n] Y

FORSTØRRE

På denne måten er MariaDB installert.

Trinn 5
Det neste trinnet er å opprette en ny database og en ny bruker for LibreNMS. Logg på kommandolinjen mysql shell ved å bruke mysql -klienten og med det nye passordet tildelt:

 mysql -u root -p
Lag en ny database kalt 'librenms', en ny bruker 'librenms' med passord 'password123'
 CREATE DATABASE librenms CHARACTER SET utf8 COLLATE utf8_unicode_ci; OPPRETT BRUKER 'librenms' @ 'localhost' IDENTIFISERT MED 'password123'; TILDELE ALLE PRIVILEGER OM librenms. * TIL 'librenms' @ 'localhost'; FLUSH -PRIVILEGER;
Vi avslutter MariaDB ved å kjøre exit -kommandoen.

FORSTØRRE

5. Slik konfigurerer du MySQL


Nå må vi redigere my.cnf -filen for å legge til en ny mysql -konfigurasjon. Vi vil redigere /etc/my.cnf -filen ved hjelp av nano:
 nano /etc/my.cnf
I den viste filen vil vi lime inn følgende under [mysqld] -delen:
 innodb_file_per_table = 1 sql-mode = "" lower_case_table_names = 0

FORSTØRRE

Vi lagrer endringene. Nå starter vi MariaDB -tjenesten på nytt ved å utføre følgende:

 systemctl starter mariadb på nytt

6. Hvordan laste ned og konfigurere LibreNMS


Med alt det ovennevnte konfigurert, er det neste trinnet å forberede systemet for LibreNMS, og for dette vil vi gjøre følgende.

Trinn 1
På dette tidspunktet vil vi opprette en ny systembruker kalt 'librenms', deretter vil vi definere hjemmekatalogen for brukeren i / opt / librenms -katalogen og til slutt vil vi legge til librenms -brukeren i nginx -gruppen:

 useradd librenms -d / opt / librenms -M -rusermod -a -G librenms nginx
Når brukeren er opprettet og lagt til i den respektive gruppen, går vi til / opt / katalogen og laster ned LibreNMS -kildekoden ved hjelp av git clone -kommandoen som følger:
 useradd librenms -d / opt / librenms -M -r usermod -a -G librenms nginx

FORSTØRRE

Steg 2
Vi vil opprette en ny katalog for LibreNMS -loggene og rrd -filene:

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

FORSTØRRE

Nå vil vi endre eierskapet til alle filer og kataloger i katalogen / opt / librenms til librenms -brukeren og -gruppen ved å utføre følgende:

 chown -R librenms: librenms / opt / librenms /

7. Hvordan konfigurere den virtuelle LibreNMS -verten


LibreNMS er et nettbasert program, og så langt bruker vi en Nginx webserver for å være vert for den.
Vi vil opprette en ny virtuell vertsfil librenms.conf i nginx conf.d -katalogen ved å utføre følgende:
 nano /etc/nginx/conf.d/librenms.conf
I denne nye filen vil vi lime inn følgende:
 server {# Legg til ditt eget domenenavn listen 80; server_name librenms.irsyadf.me; # LibreNMS Webroot -katalogrot / opt / librenms / html; indeks index.php; # LibreNMS logger access_log / opt / librenms / logs / access_log; error_log / opt / librenms / logs / error_log; # Aktivering av Gzip-komprimering på Nginx charset utf-8; gzip på; 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; } # PHP-FPM håndterer alle .php-filer forespørsler sted ~ \ .php {inkluderer fastcgi.conf; fastcgi_split_path_info (. + \. php) (/.+) $; fastcgi_pass unix: /var/run/php-fpm/php7.0-fpm.sock; } location ~ /\.ht {nekte alt; }}

FORSTØRRE

Vi kan lagre endringene ved hjelp av Ctrl + O -tastene og avslutte editoren med Ctrl + X. Nå kan vi teste Nginx -konfigurasjonen ved å kjøre følgende:

 nginx -t

FORSTØRRE

Vi starter Nginx -tjenesten på nytt ved å utføre:

 systemctl starter nginx på nytt

8. Slik konfigurerer du brannmur i CentOS 7


Vi må validere at firewalld -pakkene er installert på systemet ditt, hvis ikke, kan vi installere firewalld med følgende yum -kommando:
 yum -y installer firewalld
Når den er installert, starter vi firewalld og lar den kjøre på oppstart med følgende systemctl -kommandoer:
 systemctl start firewalld systemctl aktiverer firewalld
Når den er aktivert, legger vi til følgende linjer for å aktivere de respektive tjenestene:
 brannmur-cmd --add-service = http --permanent brannmur-cmd --add-service = https --permanent brannmur-cmd --add-port = 161 / udp -permanent
Vi bruker endringene ved å laste inn firewalld på nytt med følgende kommando:
 brannmur -cmd -reload
Vi kan liste opp reglene for å bekrefte at tjenestene er lagt til riktig:
 brannmur-cmd-liste-alt

FORSTØRRE

Vi får tilgang fra hvilken som helst nettleser ved å skrive inn serverens IP -adresse, vi angir legitimasjonene og dette vil være LibreNMS -miljøet:

FORSTØRRE

Derfra kan vi utføre all administrasjon av de tilknyttede enhetene.

wave wave wave wave wave