Sådan installeres LibreNMS -overvågningsværktøj med Nginx på centOS 7

Vi ved udmærket godt, at når vi bruger Linux -distros, har vi mulighed for at implementere hundredvis, eller måske tusinder, af open source -applikationer og -programmer, som bortset fra at være gratis, drastisk vil øge vores teams kapacitet.

Der er udviklet applikationer til hvert område af en organisation, og derfor vil Solvetic i dag analysere detaljeret, hvordan man installerer LibreNMS -værktøjet og dermed give os som administratorer mulighed for at have et kraftfuldt analyse- og overvågningsværktøj ved hånden, så vi kan være opmærksom på alle de ændringer, der påvirker den distro, vi arbejder på.

Hvad er LibreNMSLibreNMS er et open source -overvågningsværktøj baseret på PHP, MYSQL og SNMP. LibreNMS er et fuldt udstyret netværksovervågningssystem til en bred vifte af netværkshardware og operativsystemer, herunder FreeBSD, Cisco, Linux, HP og mere.

Når vi bruger LibreNMS, har vi følgende egenskaber:

  • Automatisk registrering, da det giver mulighed for automatisk at opdage hele netværket ved hjælp af CDP, FDP, LLDP, OSPF, BGP, SNMP og ARP
  • Konfigurerbare advarsler, så vi kan modtage advarsler via e -mail, irc, slack og mere
  • Adgang via API til at administrere, tegne og hente data fra din installation
  • Det har et indsamlingssystem, hvorigennem vi kan generere båndbreddefakturaer til netværksporte efter brug eller overførsel
  • Den har automatiske opdateringer
  • Høj grad af skalerbarhed
  • Det har applikationer til Android og iOS
  • Bred enhedsunderstøttelse
  • Mobilvenlig webbrugergrænseflade
  • Unix Agent
  • Kan integreres med NfSen, collectd, SmokePing, RANCID og oxideret
  • Understøtter MySQL, HTTP, LDAP, Radius og Active Directory -godkendelsesmetoder

Tidligere kravFor at installere og bruge LibreNMS skal du bruge følgende:

  • CentOS 7 Minimal
  • Bruger med root -rettigheder

1. Installation af de nødvendige Linux -pakker


Inden du installerer LibreNMS på CentOS 7, vil det være nødvendigt at installere nogle pakker, herunder ImageMagick, rrdtool, SNMP, git og mere. Disse pakker 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 installationen er fuldført, ser vi følgende:

FORSTØRRE

2. Sådan installeres Nginx -server


Nginx [engine x] er en HTTP -server og reverse proxy, en mail proxy -server og en generisk TCP / UDP proxy -server, oprindeligt skrevet af Igor Sysoev. I lang tid har den kørt på mange tungt belastede russiske websteder, herunder Yandex, Mail.Ru, VK og Rambler og bruges i øjeblikket som en HTTP -server globalt.

Trin 1
Inden vi installerer Nginx, skal vi installere epel -depoterne til installationen af ​​Nginx -webserveren. EPEL-depotet (yderligere pakker til Enterprise Linux) er et ekstra depot til RPM-baseret OS, herunder CentOS 7. Vi vil udføre følgende:

 yum -y installer epel -release

FORSTØRRE

Trin 2
Nu fortsætter vi med installationen af ​​Nginx -serveren med følgende kommando:

 yum -y installer nginx

FORSTØRRE

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

FORSTØRRE

Trin 4
Efter installation af Nginx på CentOS 7 starter vi tjenesten og gør det muligt at køre den automatisk ved opstart ved hjælp af følgende systemctl -kommandoer:

 systemctl start nginx systemctl aktiver nginx

FORSTØRRE

Trin 5
Derfor er Nginx -webserveren blevet installeret på systemet fra EPEL -depotet, og vi kan kontrollere det ved at udføre følgende linje:

 netstat -plntu

FORSTØRRE

Der vil vi se de porte, gennem hvilke vi vil forbinde med Nginx.

3. Sådan installeres og konfigureres PHP-FPM

Trin 1
I dette tilfælde vil vi bruge version 7 af PHP-FPM til LibreNMS-installationen. Alle PHP 7 -pakker til CentOS 7 er tilgængelige fra tredjepartsopbevaringsstedet, og vi vil gøre brug af PHP 7 -versionen af ​​det 'webtatiske' lager.
For at gøre dette vil vi først og fremmest tilføje PHP 7 webtatic repository til systemet ved hjælp af følgende rpm -kommando:

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

FORSTØRRE

Trin 2
Dernæst installerer vi PHP 7 og alle de nødvendige udvidelser fra vådlageret ved hjælp af yum:

 yum -y installer php70w php70w-cli php70w-gd php70w-mysql php70w-snmp php70w-pear php70w-curl php70w-fælles php70w-fpm php70w-mcrypt

FORSTØRRE

Trin 3
Når det er downloadet og installeret, opdaterer vi PEAR -depotet og installerer nogle PEAR -udvidelser (PHP -udvidelse og applikationslager) ved hjælp af kommandoen pear:

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

FORSTØRRE

Dernæst konfigurerer vi PHP-FPM til LibreNMS-installationen.

Trin 4
Først vil det være nødvendigt at definere standard tidszonen i php.ini -filen og sikre, at tidszonen matcher den aktuelle tidszone, der bruges af systemet. Vi kan kontrollere den aktuelle tidszone, der bruges af dit system, ved hjælp af følgende kommando:

 timedatectl

FORSTØRRE

Trin 5
Når vi har defineret tidszonen, fortsætter vi med at redigere php.ini -filen i følgende sti: /etc/php.ini, kan vi gøre dette med enhver editor som f.eks. Nano eller vim:

 nano /etc/php.ini
I den fil, der vises, foretager vi følgende ændringer:

Vi fjerner kommentaren fra linjen date.timezone og tilføjer den zone, der vises med timedatectl -kommandoen

FORSTØRRE

Vi vil fjerne kommentaren på linjen cgi.fix_pathinfo og tildele dens værdi til nul (0)

FORSTØRRE

Vi gemmer ændringerne ved hjælp af tastekombinationen Ctrl + O og afslutter editoren med Ctrl + X.

Trin 6
Det næste trin er at definere, hvordan PHP-FPM kører på systemet. I dette tilfælde kører PHP-FPM under 'sock'-filen i stedet for serverporten. Rediger filen 'www.conf' med nano for at konfigurere PHP-FPM:

 nano /etc/php-fpm.d/www.conf
Der vil vi ændre lytterlinjen, som har standardværdien 127.0.0.1:9000, til følgende:
 lyt = /var/run/php-fpm/php7.0-fpm.sock

FORSTØRRE

Trin 7
I den samme fil vil vi kommentere følgende linjer. Vi gemmer ændringerne på serveren.

 listen.owner = nginx listen.group = nginx listen.mode = 0660
PHP-FPM er nu fuldført, vi kan starte tjenesten og aktivere den til at køre automatisk ved opstart ved hjælp af følgende kommandoer:
 systemctl start php-fpm systemctl aktiver php-fpm
Vi vil kontrollere, at PHP-FPM kører under strømfilen, dette kan verificeres med netstat-kommandoen:
 netstat -pl | grep php

FORSTØRRE

4. Sådan installeres og konfigureres MariaDB

Trin 1
LibreNMS gør brug af MySQL -databasen til at gemme alle data. I dette tilfælde vil vi bruge den version af MariaDB -databasen, der er tilgængelig i depotet, og det vil være nødvendigt at installere og tilføje nogle konfigurationer til LibreNMS -installationen, herunder tilføjelse af databasen og brugeren til LibreNMS.

Vi installerer MariaDB ved at udføre følgende:

 yum -y installer mariadb mariadb -server

FORSTØRRE

Trin 2
Når det er installeret, starter vi MariaDB -tjenesten og gør det muligt at starte automatisk ved opstart:

 systemctl start mariadb systemctl aktiver mariadb 

FORSTØRRE

Trin 3
Vi kan kontrollere tjenesten med den respektive port ved at udføre følgende:

 netstat -plintu

FORSTØRRE

Trin 4
Nu skal vi konfigurere MariaDB -rodadgangskoden ved hjælp af kommandoen 'mysql_secure_installation': I de viste spørgsmål svarer vi på følgende:

 Angiv root -adgangskode? [Y / n] Y Vil du fjerne anonyme brugere? [Y / n] Y Vil du ikke tillade root -login eksternt? [Y / n] Y Vil du fjerne testdatabasen og få adgang til den? [J / n] Y Genindlæs privilegietabeller nu? [Y / n] Y

FORSTØRRE

På denne måde er MariaDB blevet installeret.

Trin 5
Det næste trin er at oprette en ny database og en ny bruger til LibreNMS. Log ind på mysql shell -kommandolinjen ved hjælp af mysql -klienten og med den nye adgangskode tildelt:

 mysql -u root -p
Opret en ny database kaldet 'librenms', en ny bruger 'librenms' med adgangskode 'password123'
 Opret DATABASE librenms KARAKTER SÆT utf8 COLLATE utf8_unicode_ci; Opret BRUGER 'librenms' @ 'localhost' IDENTIFICERET MED 'password123'; TILDELE ALLE PRIVILEGER OM librenms. * TIL 'librenms' @ 'localhost'; FLUSH -PRIVILEGER;
Vi afslutter MariaDB ved at udføre kommandoen exit.

FORSTØRRE

5. Sådan konfigureres MySQL


Nu skal vi redigere my.cnf -filen for at tilføje en ny mysql -konfiguration. Vi redigerer filen /etc/my.cnf ved hjælp af nano:
 nano /etc/my.cnf
I den viste fil vil vi indsætte følgende under [mysqld] sektionen:
 innodb_file_per_table = 1 sql-mode = "" lower_case_table_names = 0

FORSTØRRE

Vi gemmer ændringerne. Nu genstarter vi MariaDB -tjenesten ved at udføre følgende:

 systemctl genstart mariadb

6. Sådan downloades og konfigureres LibreNMS


Med alt ovenstående konfigureret, er det næste trin at forberede systemet til LibreNMS, og til dette vil vi gøre følgende.

Trin 1
På dette tidspunkt opretter vi en ny systembruger kaldet 'librenms', derefter definerer vi hjemmekataloget for brugeren i / opt / librenms -biblioteket, og endelig tilføjer vi librenms -brugeren til nginx -gruppen:

 useradd librenms -d / opt / librenms -M -rusermod -a -G librenms nginx
Når brugeren er oprettet og føjet til den respektive gruppe, vil vi gå til / opt / biblioteket og downloade LibreNMS -kildekoden ved hjælp af git -klon -kommandoen som følger:
 useradd librenms -d / opt / librenms -M -r usermod -a -G librenms nginx

FORSTØRRE

Trin 2
Vi opretter et nyt bibliotek til LibreNMS -logfiler og rrd -filer:

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

FORSTØRRE

Nu vil vi ændre ejerskabet af alle filer og mapper i mappen / opt / librenms til librenms -brugeren og -gruppen ved at udføre følgende:

 chown -R librenms: librenms / opt / librenms /

7. Sådan konfigureres den virtuelle LibreNMS -vært


LibreNMS er en webbaseret applikation, og indtil nu bruger vi en Nginx-webserver til at være vært for den.
Vi opretter en ny virtuel værtfil librenms.conf i biblioteket nginx conf.d ved at udføre følgende:
 nano /etc/nginx/conf.d/librenms.conf
I denne nye fil vil vi indsætte følgende:
 server {# Tilføj dit eget domænenavn lyt 80; server_navn librenms.irsyadf.me; # LibreNMS Webroot bibliotek root / opt / librenms / html; indeks index.php; # LibreNMS logs access_log / opt / librenms / logs / access_log; error_log / opt / librenms / logs / error_log; # Aktivering af 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 anmodninger om placering ~ \ .php {inkluderer fastcgi.conf; fastcgi_split_path_info (. + \. php) (/.+) $; fastcgi_pass unix: /var/run/php-fpm/php7.0-fpm.sock; } placering ~ /\.ht {nægte alt; }}

FORSTØRRE

Vi kan gemme ændringerne ved hjælp af Ctrl + O -tasterne og afslutte editoren ved hjælp af Ctrl + X. Nu kan vi teste Nginx -konfigurationen ved at køre følgende:

 nginx -t

FORSTØRRE

Vi genstarter Nginx -tjenesten ved at udføre:

 systemctl genstart nginx

8. Sådan konfigureres Firewall i CentOS 7


Vi skal validere, at firewalld -pakkerne er installeret på dit system, hvis ikke, kan vi installere firewalld med følgende yum -kommando:
 yum -y installer firewalld
Når det er installeret, starter vi firewalld og gør det muligt at køre det ved opstart med følgende systemctl -kommandoer:
 systemctl start firewalld systemctl aktiverer firewalld
Når den er aktiveret, tilføjer vi følgende linjer for at aktivere de respektive tjenester:
 firewall-cmd --add-service = http --permanent firewall-cmd --add-service = https --permanent firewall-cmd --add-port = 161 / udp -permanent
Vi anvender ændringerne ved at genindlæse firewalld med følgende kommando:
 firewall -cmd -reload
Vi kan angive reglerne for at bekræfte, at tjenesterne er tilføjet korrekt:
 firewall-cmd-liste-alt

FORSTØRRE

Vi får adgang fra enhver browser ved at indtaste serverens IP -adresse, vi indtaster legitimationsoplysningerne, og dette er LibreNMS -miljøet:

FORSTØRRE

Derfra kan vi udføre al administration af de tilhørende enheder.

wave wave wave wave wave