Jak nainstalovat monitorovací nástroj LibreNMS pomocí Nginx na centOS 7

Dobře víme, že při používání distribucí Linuxu máme možnost implementovat stovky nebo možná tisíce open source aplikací a programů, které kromě toho, že jsou zdarma, drasticky zvýší možnosti našich týmů.

Pro každou oblast organizace jsou vyvinuty aplikace, a proto dnes Solvetic podrobně analyzuje, jak nainstalovat nástroj LibreNMS, a tak nám jako správcům umožní mít po ruce výkonný nástroj pro analýzu a monitorování, což nám umožní být vědomi všech změn, které ovlivňují distro, na kterém pracujeme.

Co je LibreNMSLibreNMS je open source monitorovací nástroj založený na PHP, MYSQL a SNMP. LibreNMS je plnohodnotný systém monitorování sítě pro širokou škálu síťového hardwaru a operačních systémů, včetně FreeBSD, Cisco, Linux, HP a dalších.

Při používání LibreNMS budeme mít následující vlastnosti:

  • Automatické zjišťování, protože umožňuje automaticky objevovat celou síť pomocí CDP, FDP, LLDP, OSPF, BGP, SNMP a ARP
  • Konfigurovatelná upozornění, která nám umožňují přijímat upozornění e -mailem, irc, slack a dalšími
  • Přístup prostřednictvím rozhraní API pro správu, vytváření grafů a načítání dat z vaší instalace
  • Má sběrný systém, pomocí kterého můžeme generovat faktury za šířku pásma pro síťové porty podle použití nebo přenosu
  • Má automatické aktualizace
  • Vysoká úroveň škálovatelnosti
  • Má aplikace pro Android a iOS
  • Široká podpora zařízení
  • Mobilní webové uživatelské rozhraní
  • Agent Unixu
  • Lze integrovat s NfSen, collectd, SmokePing, RANCID a Oxidized
  • Podporuje metody ověřování MySQL, HTTP, LDAP, Radius a Active Directory

Předchozí požadavkyK instalaci a používání LibreNMS budete potřebovat následující:

  • CentOS 7 minimální
  • Uživatel s oprávněními root

1. Instalace požadovaných balíků Linux


Před instalací LibreNMS na CentOS 7 bude nutné nainstalovat některé balíčky, včetně ImageMagick, rrdtool, SNMP, git a dalších. Tyto balíčky lze nainstalovat pomocí následujícího příkazu:
 yum -y install net-snmp ImageMagick jwhois nmap mtr rrdtool MySQL-python net-snmp-utils cronie fping git

ZVĚTŠIT

Jakmile je instalace dokončena, uvidíme následující:

ZVĚTŠIT

2. Jak nainstalovat server Nginx


Nginx [engine x] je server HTTP a reverzní proxy, poštovní proxy server a obecný proxy server TCP / UDP, původně napsaný Igorem Sysoevem. Již dlouhou dobu běží na mnoha silně zatížených ruských webech včetně Yandexu, Mail.Ru, VK a Rambler a v současné době je globálně používán jako server HTTP.

Krok 1
Před instalací Nginx musíme nainstalovat úložiště epel pro instalaci webového serveru Nginx. Úložiště EPEL (Další balíčky pro Enterprise Linux) je další úložiště pro operační systémy založené na RPM, včetně CentOS 7. Provedeme následující:

 yum -y nainstalovat epel -release

ZVĚTŠIT

Krok 2
Nyní pokračujeme v instalaci serveru Nginx následujícím příkazem:

 yum -y nainstalovat nginx

ZVĚTŠIT

Krok 3
Jakmile je Nginx nainstalován na CentOS 7, uvidíme následující:

ZVĚTŠIT

Krok 4
Po instalaci Nginx na CentOS 7 spustíme službu a povolíme její automatické spuštění při spuštění pomocí následujících příkazů systemctl:

 systemctl start nginx systemctl povolit nginx

ZVĚTŠIT

Krok 5
Webový server Nginx byl proto do systému nainstalován z úložiště EPEL a můžeme jej zkontrolovat spuštěním následujícího řádku:

 netstat -plntu

ZVĚTŠIT

Tam uvidíme porty, přes které se spojíme s Nginxem.

3. Jak nainstalovat a konfigurovat PHP-FPM

Krok 1
V tomto případě použijeme pro instalaci LibreNMS verzi 7 PHP-FPM. Všechny balíčky PHP 7 pro CentOS 7 jsou k dispozici v úložišti třetích stran a my použijeme verzi PHP 7 „webtatic“ úložiště.
Za tímto účelem nejprve přidáme webtatické úložiště PHP 7 do systému pomocí následujícího příkazu rpm:

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

ZVĚTŠIT

Krok 2
Dále nainstalujeme PHP 7 a všechna potřebná rozšíření z mokrého úložiště pomocí yum:

 yum -y nainstalovat php70w php70w-cli php70w-gd php70w-mysql php70w-snmp php70w-pear php70w-curl php70w-common php70w-fpm php70w-mcrypt

ZVĚTŠIT

Krok 3
Po stažení a instalaci aktualizujeme úložiště PEAR a nainstalujeme některá rozšíření PEAR (rozšíření PHP a úložiště aplikací) pomocí příkazu pear:

 aktualizace hruškového kanálu pear.php.net hruška instalace Net_IPv4-1.3.4 instalace hrušky Net_IPv6-1.2.2b2

ZVĚTŠIT

Dále nakonfigurujeme PHP-FPM pro instalaci LibreNMS.

Krok 4
Nejprve bude nutné definovat výchozí časové pásmo v souboru php.ini a zajistit, aby se časové pásmo shodovalo s aktuálním časovým pásmem používaným systémem. Aktuální časové pásmo používané vaším systémem můžeme ověřit pomocí následujícího příkazu:

 timedatectl

ZVĚTŠIT

Krok 5
Jakmile definujeme časové pásmo, přistoupíme k úpravě souboru php.ini na následující cestě: /etc/php.ini, můžeme to provést pomocí libovolného editoru, jako je nano nebo vim:

 nano /etc/php.ini
V souboru, který se zobrazí, provedeme následující změny:

Odkomentujeme řádek date.timezone a přidáme zónu zobrazenou příkazem timedatectl

ZVĚTŠIT

Odkomentujeme řádek cgi.fix_pathinfo a jeho hodnotu přiřadíme nule (0)

ZVĚTŠIT

Změny uložíme pomocí kombinace kláves Ctrl + O a editor ukončíme pomocí Ctrl + X.

Krok 6
Dalším krokem je definovat, jak PHP-FPM běží v systému. V tomto případě PHP-FPM poběží pod souborem „sock“ místo portu serveru. Upravte soubor 'www.conf' pomocí nano a nakonfigurujte PHP-FPM:

 nano /etc/php-fpm.d/www.conf
Zde změníme naslouchací řádek, který má výchozí hodnotu 127.0.0.1:9000, na následující:
 poslouchat = /var/run/php-fpm/php7.0-fpm.sock

ZVĚTŠIT

Krok 7
Ve stejném souboru odkomentujeme následující řádky. Změny uložíme na server.

 listen.owner = nginx listen.group = nginx listen.mode = 0660
PHP-FPM je nyní kompletní, můžeme službu spustit a povolit její automatické spuštění při spuštění pomocí následujících příkazů:
 systemctl start php-fpm systemctl povolit php-fpm
Zkontrolujeme, zda je PHP-FPM spuštěno pod souborem sock, což lze ověřit pomocí příkazu netstat:
 netstat -pl | grep php

ZVĚTŠIT

4. Jak nainstalovat a konfigurovat MariaDB

Krok 1
LibreNMS využívá k ukládání všech dat databázi MySQL. V tomto případě použijeme verzi databáze MariaDB, která je k dispozici v úložišti, a pro instalaci LibreNMS bude nutné nainstalovat a přidat nějakou konfiguraci, včetně přidání databáze a uživatele pro LibreNMS.

MariaDB nainstalujeme provedením následujícího:

 yum -y nainstalovat mariadb mariadb -server

ZVĚTŠIT

Krok 2
Po instalaci spustíme službu MariaDB a povolíme její automatické spuštění při spuštění:

 systemctl start mariadb systemctl povolit mariadb 

ZVĚTŠIT

Krok 3
Službu s příslušným portem můžeme zkontrolovat provedením následujícího:

 netstat -plintu

ZVĚTŠIT

Krok 4
Nyní musíme nakonfigurovat root heslo MariaDB pomocí příkazu 'mysql_secure_installation': V zobrazených otázkách zodpovíme následující:

 Nastavit heslo root? [Y / n] Y Odstranit anonymní uživatele? [Y / n] Y Zakázat vzdálené přihlášení root? [A / n] Y Odstranit testovací databázi a přístup k ní? [Y / n] Y Znovu načíst tabulky oprávnění? [A / n] Y

ZVĚTŠIT

Tímto způsobem byla nainstalována MariaDB.

Krok 5
Dalším krokem je vytvoření nové databáze a nového uživatele pro LibreNMS. Přihlaste se do příkazového řádku prostředí mysql pomocí klienta mysql a přidělte nové heslo:

 mysql -u root -p
Vytvořte novou databázi s názvem 'librenms', nového uživatele 'librenms' s heslem 'password123'
 VYTVOŘIT DATABÁZU knihoven CHARACTER SET utf8 COLLATE utf8_unicode_ci; VYTVOŘIT UŽIVATELE 'librenms' @ 'localhost' IDENTIFIKOVANÉ 'heslem123'; UDĚLIT VŠECHNY PRIVILEGY NA knihovnách. * TO 'librenms' @ 'localhost'; FLUSH PRIVILEGES;
Ukončíme MariaDB spuštěním příkazu exit.

ZVĚTŠIT

5. Jak konfigurovat MySQL


Nyní musíme upravit soubor my.cnf a přidat novou konfiguraci mysql. Soubor /etc/my.cnf upravíme pomocí nano:
 nano /etc/my.cnf
Do zobrazeného souboru vložíme v sekci [mysqld] následující:
 innodb_file_per_table = 1 sql-mode = "" lower_case_table_names = 0

ZVĚTŠIT

Uložíme změny. Nyní restartujeme službu MariaDB provedením následujícího:

 restartujte systém mariadb

6. Jak stahovat a konfigurovat LibreNMS


Když jsou nakonfigurovány všechny výše uvedené, dalším krokem je připravit systém na LibreNMS, a proto uděláme následující.

Krok 1
V tomto okamžiku vytvoříme nového systémového uživatele s názvem 'librenms', poté definujeme domovský adresář pro uživatele v adresáři / opt / librenms a nakonec přidáme uživatele librenms do skupiny nginx:

 useradd librenms -d / opt / librenms -M -rusermod -a -G librenms nginx
Jakmile je uživatel vytvořen a přidán do příslušné skupiny, přejdeme do adresáře / opt / a stáhneme zdrojový kód LibreNMS pomocí příkazu git clone následujícím způsobem:
 useradd librenms -d / opt / librenms -M -r usermod -a -G librenms nginx

ZVĚTŠIT

Krok 2
Vytvoříme nový adresář pro protokoly LibreNMS a soubory rrd:

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

ZVĚTŠIT

Nyní změníme vlastnictví všech souborů a adresářů v adresáři / opt / librenms na uživatele a skupinu knihoven provedením následujícího:

 chown -R librenms: librenms / opt / librenms /

7. Jak nakonfigurovat virtuálního hostitele LibreNMS


LibreNMS je webová aplikace a až dosud používáme k hostování webový server Nginx.
V adresáři nginx conf.d vytvoříme nový soubor virtuálního hostitele librenms.conf provedením následujícího:
 nano /etc/nginx/conf.d/librenms.conf
Do tohoto nového souboru vložíme následující:
 server {# Přidejte vlastní název domény poslouchat 80; název_serveru librenms.irsyadf.me; # LibreNMS Webroot adresář root / opt / librenms / html; index index.php; # LibreNMS protokoly access_log / opt / librenms / logs / access_log; error_log / opt / librenms / logs / error_log; # Povolení komprese Gzip na znakové sadě Nginx utf-8; gzip zapnuto; gzip_types text / css aplikace / javascriptový text / javascriptová aplikace / x-javascriptový obrázek / svg + xml text / prostý text / xsd text / xsl text / xml obrázek / x-ikona; umístění / {try_files $ uri $ uri / /index.php?$query_string; } location / api / v0 {try_files $ uri $ uri / /api_v0.php?$query_string; } # PHP-FPM zpracovává všechny požadavky na soubory .php umístění ~ \ .php {include fastcgi.conf; fastcgi_split_path_info (. + \. php) (/.+) $; fastcgi_pass unix: /var/run/php-fpm/php7.0-fpm.sock; } location ~ /\.ht {deny all; }}

ZVĚTŠIT

Změny můžeme uložit pomocí kláves Ctrl + O a opustit editor pomocí Ctrl + X. Nyní můžeme otestovat konfiguraci Nginx spuštěním následujícího:

 nginx -t

ZVĚTŠIT

Službu Nginx restartujeme spuštěním:

 systemctl restart nginx

8. Jak nakonfigurovat bránu firewall v CentOS 7


Musíme ověřit, že jsou ve vašem systému nainstalovány balíčky firewalld, pokud ne, můžeme firewall nainstalovat pomocí následujícího příkazu yum:
 mňam -nainstalujte firewall
Po instalaci spustíme firewall a povolíme jeho spuštění při spuštění pomocí následujících příkazů systemctl:
 systemctl start firewalld systemctl povolit firewalld
Po povolení přidáme následující řádky pro povolení příslušných služeb:
 firewall-cmd --add-service = http --permanent firewall-cmd --add-service = https --permanent firewall-cmd --add-port = 161 / udp -permanent
Změny aplikujeme opětovným načtením brány firewall následujícím příkazem:
 firewall -cmd -znovu načíst
Můžeme vypsat pravidla, abychom potvrdili, že služby byly přidány správně:
 firewall-cmd --list-all

ZVĚTŠIT

Budeme přistupovat z jakéhokoli prohlížeče zadáním IP adresy serveru, zadáme přihlašovací údaje a toto bude prostředí LibreNMS:

ZVĚTŠIT

Odtud můžeme provádět veškerou správu přidružených zařízení.

wave wave wave wave wave