Kaip įdiegti „LibreNMS“ stebėjimo įrankį su „Nginx“ „centOS 7“

Mes puikiai žinome, kad naudodami „Linux“ distribucijas turime galimybę įdiegti šimtus, o gal ir tūkstančius atvirojo kodo programų ir programų, kurios, be nemokamų, smarkiai padidins mūsų komandų galimybes.

Yra programų, sukurtų kiekvienai organizacijos sričiai, todėl šiandien „Solvetic“ išsamiai išanalizuos, kaip įdiegti „LibreNMS“ įrankį, ir taip leis mums, kaip administratoriams, turėti galingą analizės ir stebėjimo priemonę, kad galėtume būti žinodami apie visus pokyčius, turinčius įtakos platinimui, kuriame dirbame.

Kas yra LibreNMS„LibreNMS“ yra atviro kodo stebėjimo įrankis, pagrįstas PHP, MYSQL ir SNMP. „LibreNMS“ yra pilnavertė tinklo stebėjimo sistema, skirta daugeliui tinklo aparatūros ir operacinių sistemų, įskaitant „FreeBSD“, „Cisco“, „Linux“, HP ir kt.

Naudodami „LibreNMS“ turėsime šias charakteristikas:

  • Automatinis aptikimas, nes jis leidžia automatiškai atrasti visą tinklą naudojant CDP, FDP, LLDP, OSPF, BGP, SNMP ir ARP
  • Konfigūruojami įspėjimai, leidžiantys gauti įspėjimus el. Paštu, irc, slack ir kt
  • Prieiga per API, skirta tvarkyti, grafikuoti ir gauti duomenis iš jūsų diegimo
  • Ji turi surinkimo sistemą, per kurią mes galime generuoti pralaidumo sąskaitas faktūras tinklo prievadams pagal naudojimą ar perdavimą
  • Jis turi automatinius atnaujinimus
  • Aukštas mastelio lygis
  • Jame yra programų, skirtų „Android“ ir „iOS“
  • Platus įrenginių palaikymas
  • Mobiliesiems pritaikyta žiniatinklio vartotojo sąsaja
  • „Unix“ agentas
  • Galima integruoti su „NfSen“, surinkimu, „SmokePing“, „RANCID“ ir „Oxidized“
  • Palaiko „MySQL“, HTTP, LDAP, „Radius“ ir „Active Directory“ autentifikavimo metodus

Ankstesni reikalavimaiNorėdami įdiegti ir naudoti „LibreNMS“, jums reikės:

  • CentOS 7 Minimal
  • Vartotojas, turintis root teises

1. Reikiamų „Linux“ paketų diegimas


Prieš diegdami „LibreNMS“ „CentOS 7“, turėsite įdiegti kai kuriuos paketus, įskaitant „ImageMagick“, „rrdtool“, SNMP, „git“ ir kt. Šiuos paketus galima įdiegti naudojant šią komandą:
 yum -y įdiegti net-snmp ImageMagick jwhois nmap mtr rrdtool MySQL-python net-snmp-utils cronie fping git

DIDELIS

Kai diegimas bus baigtas, pamatysime šiuos dalykus:

DIDELIS

2. Kaip įdiegti „Nginx“ serverį


„Nginx“ [variklis x] yra HTTP serveris ir atvirkštinis tarpinis serveris, pašto tarpinis serveris ir bendras TCP / UDP tarpinis serveris, kurį iš pradžių parašė Igoris Sysojevas. Ilgą laiką jis veikia daugelyje labai apkrautų Rusijos svetainių, įskaitant „Yandex“, „Mail.Ru“, „VK“ ir „Rambler“, ir šiuo metu naudojamas kaip HTTP serveris visame pasaulyje.

1 žingsnis
Prieš diegdami „Nginx“, turime įdiegti „Nginx“ žiniatinklio serverio diegimo epelio saugyklas. EPEL saugykla (papildomi paketai „Enterprise Linux“) yra papildoma RPM pagrįstos OS saugykla, įskaitant „CentOS 7.“. Mes vykdysime šiuos veiksmus:

 yum -y įdiegti epel -release

DIDELIS

2 žingsnis
Dabar tęsiame „Nginx“ serverio diegimą naudodami šią komandą:

 yum -įdiegti nginx

DIDELIS

3 žingsnis
Kai „Nginx“ bus įdiegta „CentOS 7“, pamatysime šiuos dalykus:

DIDELIS

4 žingsnis
Įdiegę „Nginx“ „CentOS 7“, paleisime paslaugą ir įgalinsime ją paleisti automatiškai paleidžiant, naudojant šias „systemctl“ komandas:

 systemctl paleisti nginx systemctl įgalinti nginx

DIDELIS

5 žingsnis
Todėl „Nginx“ žiniatinklio serveris buvo įdiegtas sistemoje iš EPEL saugyklos, ir mes galime jį patikrinti vykdydami šią eilutę:

 netstat -plntu

DIDELIS

Ten pamatysime uostus, per kuriuos prisijungsime prie „Nginx“.

3. Kaip įdiegti ir konfigūruoti PHP-FPM

1 žingsnis
Šiuo atveju „LibreNMS“ diegimui naudosime 7 PHP-FPM versiją. Visus „CentOS 7“ skirtus PHP 7 paketus galima įsigyti iš trečiųjų šalių saugyklos, o mes naudosime „webtatic“ saugyklos PHP 7 versiją.
Norėdami tai padaryti, pirmiausia prie sistemos pridėsime PHP 7 žiniatinklio saugyklą naudodami šią komandą rpm:

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

DIDELIS

2 žingsnis
Tada mes įdiegsime PHP 7 ir visus reikalingus plėtinius iš šlapios saugyklos naudodami „yum“:

 yum -y įdiegti php70w php70w-cli php70w-gd php70w-mysql php70w-snmp php70w-kriaušė php70w-curl php70w-common php70w-fpm php70w-mcrypt

DIDELIS

3 žingsnis
Atsisiuntę ir įdiegę, mes atnaujinsime PEAR saugyklą ir įdiegsime kai kuriuos PEAR plėtinius (PHP plėtinių ir programų saugyklą) naudodami kriaušės komandą:

 kriaušių kanalo atnaujinimas pear.php.net kriaušių diegimas Net_IPv4-1.3.4 kriaušių diegimas Net_IPv6-1.2.2b2

DIDELIS

Toliau sukonfigūruosime PHP-FPM „LibreNMS“ diegimui.

4 žingsnis
Pirma, faile „php.ini“ reikės nustatyti numatytąją laiko juostą ir įsitikinti, kad laiko juosta atitinka dabartinę sistemos naudojamą laiko juostą. Mes galime patikrinti dabartinę jūsų sistemos naudojamą laiko juostą naudodami šią komandą:

 timedatectl

DIDELIS

5 žingsnis
Kai nustatysime laiko juostą, redaguosime failą php.ini tokiu keliu: /etc/php.ini, tai galime padaryti naudodami bet kurį redaktorių, pvz., „Nano“ ar „vim“:

 nano /etc/php.ini
Rodomame faile atliksime šiuos pakeitimus:

Mes nekomentuosime eilutės date.timezone ir pridėsime zoną, rodomą komandoje timedatectl

DIDELIS

Mes atšauksime eilutę cgi.fix_pathinfo ir priskirsime jos vertę nuliui (0)

DIDELIS

Pakeitimus išsaugome naudodami klavišų kombinaciją Ctrl + O ir išeiname iš redaktoriaus naudodami Ctrl + X.

6 žingsnis
Kitas žingsnis yra apibrėžti, kaip sistemoje veikia PHP-FPM. Tokiu atveju PHP-FPM bus paleistas po „kojinių“ failu, o ne serverio prievadu. Redaguokite failą „www.conf“ naudodami nano, kad sukonfigūruotumėte PHP-FPM:

 nano /etc/php-fpm.d/www.conf
Ten mes pakeisime klausymo eilutę, kurios numatytoji vertė yra 127.0.0.1:9000, į šią:
 klausytis = /var/run/php-fpm/php7.0-fpm.sock

DIDELIS

7 žingsnis
Tame pačiame faile mes pašalinsime šias eilutes. Pakeitimus išsaugome serveryje.

 klausytis.savininkas = nginx klausytis.group = nginx klausytis.mode = 0660
PHP-FPM dabar baigtas, galime paleisti paslaugą ir įgalinti ją paleisti automatiškai paleidžiant naudojant šias komandas:
 systemctl paleisti php-fpm systemctl įgalinti php-fpm
Mes patikrinsime, ar PHP-FPM veikia pagal kojinių failą, tai galima patikrinti naudojant komandą netstat:
 netstat -pl | grep php

DIDELIS

4. Kaip įdiegti ir konfigūruoti „MariaDB“

1 žingsnis
„LibreNMS“ naudoja „MySQL“ duomenų bazę, kad išsaugotų visus duomenis. Tokiu atveju naudosime saugykloje esančią „MariaDB“ duomenų bazės versiją, todėl reikės įdiegti ir pridėti tam tikrą „LibreNMS“ diegimo konfigūraciją, įskaitant duomenų bazės ir „LibreNMS“ vartotojo pridėjimą.

„MariaDB“ įdiegsime atlikdami šiuos veiksmus:

 yum -y įdiegti mariadb mariadb -server

DIDELIS

2 žingsnis
Įdiegę paleisime „MariaDB“ paslaugą ir įgalinsime ją paleisti automatiškai paleidžiant:

 systemctl paleisti mariadb systemctl įgalinti mariadb 

DIDELIS

3 žingsnis
Paslaugą galime patikrinti naudodami atitinkamą prievadą atlikdami šiuos veiksmus:

 netstat -plintu

DIDELIS

4 žingsnis
Dabar turime sukonfigūruoti „MariaDB“ šakninį slaptažodį naudodami komandą „mysql_secure_installation“: Pateiktuose klausimuose atsakysime į šiuos klausimus:

 Nustatyti root slaptažodį? [Taip / n] Y Pašalinti anoniminius naudotojus? [Taip / n] Taip neleisti root prisijungimo nuotoliniu būdu? [Taip / n] Taip Pašalinti bandymų duomenų bazę ir pasiekti ją? [Taip / n] Taip Dabar iš naujo įkelti privilegijų lenteles? [Taip / n] Taip

DIDELIS

Tokiu būdu buvo įdiegta „MariaDB“.

5 žingsnis
Kitas žingsnis - sukurti naują duomenų bazę ir naują LibreNMS vartotoją. Prisijunkite prie „mysql shell“ komandinės eilutės naudodami „mysql“ klientą ir priskirtą naują slaptažodį:

 mysql -u root -p
Sukurkite naują duomenų bazę „librenms“, naują vartotoją „librenms“ su slaptažodžiu „password123“
 CREATE DATABASE librenms CHARACTER SET utf8 COLLATE utf8_unicode_ci; KURTI NAUDOTOJĄ 'librenms' @ 'localhost' IDENTIFIKUOTAS 'password123'; Suteikite visas privilegijas librenms. * „Librenms“ @ „localhost“; PLŪŠIMO PRIVILEGIJOS;
Mes išeiname iš MariaDB vykdydami komandą exit.

DIDELIS

5. Kaip sukonfigūruoti „MySQL“


Dabar turime redaguoti failą my.cnf, kad pridėtume naują „mysql“ konfigūraciją. Mes redaguosime failą /etc/my.cnf naudodami nano:
 nano /etc/my.cnf
Rodomame faile į [mysqld] skyrių įklijuosime:
 innodb_file_per_table = 1 sql-mode = "" small_case_table_names = 0

DIDELIS

Išsaugome pakeitimus. Dabar iš naujo paleisime „MariaDB“ paslaugą atlikdami šiuos veiksmus:

 systemctl iš naujo paleiskite mariadb

6. Kaip atsisiųsti ir konfigūruoti „LibreNMS“


Kai visa tai yra sukonfigūruota, kitas žingsnis yra paruošti sistemą „LibreNMS“ ir tam mes atliksime šiuos veiksmus.

1 žingsnis
Šiuo metu mes sukursime naują sistemos vartotoją, pavadintą „librenms“, tada nustatysime vartotojo katalogą / opt / librenms kataloge ir galiausiai pridėsime librenms vartotoją prie nginx grupės:

 useradd librenms -d / opt / librenms -M -rusermod -a -G librenms nginx
Kai vartotojas bus sukurtas ir pridėtas prie atitinkamos grupės, eisime į / opt / katalogą ir atsisiųsime „LibreNMS“ šaltinio kodą naudodami komandą „git clone“:
 useradd librenms -d / opt / librenms -M -r usermod -a -G librenms nginx

DIDELIS

2 žingsnis
Mes sukursime naują „LibreNMS“ žurnalų ir rrd failų katalogą:

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

DIDELIS

Dabar pakeisime visų failų ir katalogų / kataloge / opt / librenms nuosavybės teisę į librenms vartotoją ir grupę, atlikdami šiuos veiksmus:

 chown -R librenms: librenms / opt / librenms /

7. Kaip sukonfigūruoti „LibreNMS“ virtualųjį kompiuterį


„LibreNMS“ yra žiniatinklio programa ir iki šiol mes naudojame „Nginx“ žiniatinklio serverį.
Mes sukursime naują virtualų pagrindinio kompiuterio failą librenms.conf kataloge nginx conf.d, atlikdami šiuos veiksmus:
 nano /etc/nginx/conf.d/librenms.conf
Į šį naują failą įklijuosime:
 serveris {# Pridėkite savo domeno vardą klausytis 80; serverio_pavadinimas librenms.irsyadf.me; # „LibreNMS Webroot“ katalogas root / opt / librenms / html; indeksas indeksas.php; # LibreNMS registruoja access_log / opt / librenms / logs / access_log; error_log / opt / librenms / logs / error_log; # „Gzip“ glaudinimo įgalinimas „Nginx“ simbolių rinkinyje 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; vieta / {try_files $ uri $ uri / /index.php?$query_string; } location / api / v0 {try_files $ uri $ uri / /api_v0.php?$query_string; } # PHP-FPM tvarko visus .php failus užklausų vietą ~ \ .php {apima fastcgi.conf; fastcgi_split_path_info (. + \. php) (/.+) $; fastcgi_pass unix: /var/run/php-fpm/php7.0-fpm.sock; } vieta ~ /\.ht {paneigti viską; }}

DIDELIS

Pakeitimus galime išsaugoti naudodami „Ctrl“ + O klavišus ir išeiti iš redaktoriaus naudodami „Ctrl“ + X. Dabar galime patikrinti „Nginx“ konfigūraciją vykdydami šiuos veiksmus:

 nginx -t

DIDELIS

Iš naujo paleisime „Nginx“ paslaugą vykdydami:

 systemctl iš naujo paleiskite nginx

8. Kaip sukonfigūruoti užkardą „CentOS 7“


Turime patvirtinti, kad ugniasienės paketai yra įdiegti jūsų sistemoje, jei ne, galime įdiegti ugniasienę naudodami šią komandą yum:
 yum -įdiegti ugniasienę
Įdiegę paleisime ugniasienę ir įgalinsime ją paleisti paleidžiant su šiomis systemctl komandomis:
 systemctl paleisti ugniasienę systemctl įjungti užkardą
Įjungę pridėsime šias eilutes, kad įgalintume atitinkamas paslaugas:
 firewall-cmd --add-service = http --permanent firewall-cmd --add-service = https --permanent firewall-cmd --add-port = 161 / udp -permanent
Pakeitimus pritaikome iš naujo įkeldami ugniasienę naudodami šią komandą:
 užkarda -cmd -įkelti
Galime išvardyti taisykles, patvirtinančias, kad paslaugos buvo pridėtos teisingai:
 užkarda-cmd-sąrašas-viskas

DIDELIS

Mes pateksime iš bet kurios naršyklės įvesdami serverio IP adresą, įvesime kredencialus ir tai bus „LibreNMS“ aplinka:

DIDELIS

Iš ten mes galime valdyti visus susijusius įrenginius.

wave wave wave wave wave