Jak zainstalować narzędzie do monitorowania LibreNMS z Nginx na centOS 7?

Doskonale wiemy, że korzystając z dystrybucji Linuksa mamy możliwość zaimplementowania setek, a może tysięcy aplikacji i programów typu open source, które oprócz tego, że są darmowe, drastycznie zwiększą możliwości naszych zespołów.

Istnieją aplikacje opracowane dla każdego obszaru organizacji, dlatego dziś Solvetic szczegółowo przeanalizuje, jak zainstalować narzędzie LibreNMS, a tym samym pozwoli nam jako administratorom mieć pod ręką potężne narzędzie do analizy i monitorowania, co pozwoli nam być świadomy wszystkich zmian, które wpływają na dystrybucję, nad którą pracujemy.

Co to jest LibreNMSLibreNMS to narzędzie do monitorowania open source oparte na PHP, MYSQL i SNMP. LibreNMS to w pełni funkcjonalny system monitorowania sieci dla szerokiej gamy sprzętu sieciowego i systemów operacyjnych, w tym FreeBSD, Cisco, Linux, HP i innych.

Korzystając z LibreNMS będziemy mieli następujące cechy:

  • Automatyczne wykrywanie, ponieważ umożliwia automatyczne wykrywanie całej sieci za pomocą CDP, FDP, LLDP, OSPF, BGP, SNMP i ARP
  • Konfigurowalne alerty, umożliwiające nam otrzymywanie alertów przez e-mail, irc, slack i nie tylko
  • Dostęp przez API do zarządzania, tworzenia wykresów i pobierania danych z Twojej instalacji
  • Posiada system windykacyjny, dzięki któremu możemy generować faktury przepustowości dla portów sieciowych według wykorzystania lub transferu
  • Posiada automatyczne aktualizacje
  • Wysoki poziom skalowalności
  • Posiada aplikacje na Androida i iOS
  • Szeroka obsługa urządzeń
  • Przyjazny dla urządzeń mobilnych internetowy interfejs użytkownika
  • Agent uniksowy
  • Może być zintegrowany z NfSen, Collected, SmokePing, RANCID i Oxidized
  • Obsługuje metody uwierzytelniania MySQL, HTTP, LDAP, Radius i Active Directory

Poprzednie wymaganiaAby zainstalować i używać LibreNMS, będziesz potrzebować:

  • CentOS 7 Minimalny
  • Użytkownik z uprawnieniami root

1. Instalowanie wymaganych pakietów Linux


Przed zainstalowaniem LibreNMS na CentOS 7 konieczne będzie zainstalowanie niektórych pakietów, w tym ImageMagick, rrdtool, SNMP, git i innych. Te pakiety można zainstalować za pomocą następującego polecenia:
 mniam -y zainstaluj net-snmp ImageMagick jwhois nmap mtr rrdtool MySQL-python net-snmp-utils cronie fping git

POWIĘKSZAĆ

Po zakończeniu instalacji zobaczymy:

POWIĘKSZAĆ

2. Jak zainstalować serwer Nginx


Nginx [silnik x] to serwer HTTP i odwrotny serwer proxy, serwer proxy poczty i ogólny serwer proxy TCP / UDP, pierwotnie napisany przez Igora Sysoeva. Przez długi czas działał na wielu mocno obciążonych rosyjskich witrynach, w tym Yandex, Mail.Ru, VK i Rambler, a obecnie jest używany jako serwer HTTP na całym świecie.

Krok 1
Przed zainstalowaniem Nginx musimy zainstalować repozytoria epel do instalacji serwera WWW Nginx. Repozytorium EPEL (Additional Packages for Enterprise Linux) to dodatkowe repozytorium dla systemów operacyjnych opartych na RPM, w tym CentOS 7. Wykonamy następujące czynności:

 mniam - zainstaluj epel-release

POWIĘKSZAĆ

Krok 2
Teraz kontynuujemy instalację serwera Nginx za pomocą następującego polecenia:

 mniam -y zainstaluj nginx

POWIĘKSZAĆ

Krok 3
Po zainstalowaniu Nginx na CentOS 7 zobaczymy:

POWIĘKSZAĆ

Krok 4
Po zainstalowaniu Nginx na CentOS 7 uruchomimy usługę i umożliwimy jej automatyczne uruchamianie przy starcie za pomocą następujących poleceń systemctl:

 systemctl start nginx systemctl włącz nginx

POWIĘKSZAĆ

Krok 5
Dlatego serwer WWW Nginx został zainstalowany w systemie z repozytorium EPEL i możemy to sprawdzić wykonując poniższą linię:

 netstat -plntu

POWIĘKSZAĆ

Tam zobaczymy porty, przez które połączymy się z Nginx.

3. Jak zainstalować i skonfigurować PHP-FPM

Krok 1
W tym przypadku użyjemy wersji 7 PHP-FPM do instalacji LibreNMS. Wszystkie pakiety PHP 7 dla CentOS 7 są dostępne z repozytorium stron trzecich, a my skorzystamy z repozytorium webtatic w wersji PHP 7.
W tym celu najpierw dodamy do systemu repozytorium webtatyczne PHP 7 za pomocą następującego polecenia rpm:

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

POWIĘKSZAĆ

Krok 2
Następnie zainstalujemy PHP 7 i wszystkie niezbędne rozszerzenia z repozytorium wet za pomocą yum:

 mniam -y zainstaluj php70w php70w-cli php70w-gd php70w-mysql php70w-snmp php70w-gruszka php70w-curl php70w-common php70w-fpm php70w-mcrypt

POWIĘKSZAĆ

Krok 3
Po pobraniu i zainstalowaniu zaktualizujemy repozytorium PEAR i zainstalujemy niektóre rozszerzenia PEAR (rozszerzenie PHP i repozytorium aplikacji) za pomocą polecenia pear:

 gruszka aktualizacja kanału gruszka.php.net gruszka zainstaluj Net_IPv4-1.3.4 gruszka zainstaluj Net_IPv6-1.2.2b2

POWIĘKSZAĆ

Następnie skonfigurujemy PHP-FPM do instalacji LibreNMS.

Krok 4
Najpierw konieczne będzie zdefiniowanie domyślnej strefy czasowej w pliku php.ini i upewnienie się, że strefa czasowa jest zgodna z bieżącą strefą czasową używaną przez system. Możemy zweryfikować aktualną strefę czasową używaną przez Twój system za pomocą następującego polecenia:

 timedatectl

POWIĘKSZAĆ

Krok 5
Po zdefiniowaniu strefy czasowej przystępujemy do edycji pliku php.ini w następującej ścieżce: /etc/php.ini, możemy to zrobić dowolnym edytorem takim jak nano lub vim:

 nano /etc/php.ini
W pliku, który się wyświetli dokonamy następujących zmian:

Odkomentujemy wiersz date.timezone i dodamy strefę wyświetlaną przez polecenie timedatectl

POWIĘKSZAĆ

Odkomentujemy linię cgi.fix_pathinfo i przypiszemy jej wartość do zera (0)

POWIĘKSZAĆ

Zapisujemy zmiany za pomocą kombinacji klawiszy Ctrl + O i wychodzimy z edytora za pomocą Ctrl + X.

Krok 6
Następnym krokiem jest zdefiniowanie sposobu działania PHP-FPM w systemie. W tym przypadku PHP-FPM będzie działał pod plikiem 'sock' zamiast portu serwera. Edytuj plik „www.conf” za pomocą nano, aby skonfigurować PHP-FPM:

 nano /etc/php-fpm.d/www.conf
Tam zmienimy linię odsłuchu, która ma domyślną wartość 127.0.0.1:9000, na następującą:
 słuchać = /var/run/php-fpm/php7.0-fpm.sock

POWIĘKSZAĆ

Krok 7
W tym samym pliku odkomentujemy następujące wiersze. Zmiany zapisujemy na serwerze.

 listen.owner = nginx listen.group = nginx listen.mode = 0660
PHP-FPM jest już gotowe, możemy uruchomić usługę i włączyć jej automatyczne uruchamianie przy starcie za pomocą następujących poleceń:
 systemctl uruchom php-fpm systemctl włącz php-fpm
Sprawdzimy, czy PHP-FPM działa w pliku sock, co można zweryfikować za pomocą polecenia netstat:
 netstat -pl | grep php

POWIĘKSZAĆ

4. Jak zainstalować i skonfigurować MariaDB

Krok 1
LibreNMS wykorzystuje bazę danych MySQL do przechowywania wszystkich danych. W tym przypadku użyjemy wersji bazy danych MariaDB, która jest dostępna w repozytorium i konieczne będzie zainstalowanie i dodanie pewnej konfiguracji instalacji LibreNMS, w tym dodanie bazy danych i użytkownika dla LibreNMS.

Zainstalujemy MariaDB, wykonując następujące czynności:

 mniam -y zainstaluj mariadb mariadb-serwer

POWIĘKSZAĆ

Krok 2
Po zainstalowaniu uruchomimy usługę MariaDB i umożliwimy jej automatyczne uruchamianie przy starcie:

 systemctl start mariadb systemctl włącz mariadb 

POWIĘKSZAĆ

Krok 3
Możemy sprawdzić usługę z odpowiednim portem, wykonując następujące czynności:

 netstat -plintu

POWIĘKSZAĆ

Krok 4
Teraz musimy skonfigurować hasło roota MariaDB za pomocą polecenia 'mysql_secure_installation': W wyświetlonych pytaniach odpowiemy na następujące pytania:

 Ustawić hasło roota? [T / n] T Usunąć anonimowych użytkowników? [T / n] T Nie zezwalać na zdalne logowanie roota? [T / n] T Usunąć testową bazę danych i uzyskać do niej dostęp? [T / n] T Odświeżyć teraz tabele uprawnień? [T / n] Tak

POWIĘKSZAĆ

W ten sposób została zainstalowana MariaDB.

Krok 5
Następnym krokiem jest utworzenie nowej bazy danych i nowego użytkownika dla LibreNMS. Zaloguj się do wiersza poleceń powłoki mysql za pomocą klienta mysql i przypisz nowe hasło:

 mysql -u root -p
Utwórz nową bazę danych o nazwie 'librenms', nowego użytkownika 'librenms' z hasłem 'password123'
 TWORZENIE BAZY DANYCH librenms ZESTAW ZNAKÓW utf8 UKŁADANIE utf8_unicode_ci; CREATE USER 'librenms' @ 'localhost' IDENTYFIKOWANE PRZEZ 'password123'; PRZYZNAJ WSZYSTKIE PRZYWILEJE NA LIBRENMs * TO 'librenms' @ 'localhost'; PRZYWILEJE WSPÓŁPRACUJĄCE;
Wychodzimy z MariaDB, wykonując polecenie wyjścia.

POWIĘKSZAĆ

5. Jak skonfigurować MySQL


Teraz musimy edytować plik my.cnf, aby dodać nową konfigurację mysql. Wyedytujemy plik /etc/my.cnf za pomocą nano:
 nano /etc/my.cnf
W wyświetlonym pliku wklejamy w sekcji [mysqld]:
 innodb_file_per_table = 1 sql-mode = "" small_case_table_names = 0

POWIĘKSZAĆ

Zapisujemy zmiany. Teraz ponownie uruchomimy usługę MariaDB, wykonując następujące czynności:

 systemctl uruchom ponownie mariadb

6. Jak pobrać i skonfigurować LibreNMS


Po skonfigurowaniu wszystkich powyższych, następnym krokiem jest przygotowanie systemu dla LibreNMS i w tym celu wykonamy następujące czynności.

Krok 1
W tym momencie utworzymy nowego użytkownika systemowego o nazwie 'librenms', następnie zdefiniujemy katalog domowy dla użytkownika w katalogu /opt/librenms i na koniec dodamy użytkownika librenms do grupy nginx:

 useradd librenms -d / opt / librenms -M -rusermod -a -G librenms nginx
Po utworzeniu użytkownika i dodaniu go do odpowiedniej grupy przejdziemy do katalogu / opt / i pobierzemy kod źródłowy LibreNMS za pomocą polecenia git clone w następujący sposób:
 useradd librenms -d / opt / librenms -M -r usermod -a -G librenms nginx

POWIĘKSZAĆ

Krok 2
Stworzymy nowy katalog na logi LibreNMS i pliki rrd:

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

POWIĘKSZAĆ

Teraz zmienimy własność wszystkich plików i katalogów w katalogu /opt/librenms na użytkownika i grupę librenms, wykonując następujące czynności:

 chown -R Librenms: Librenms / opt / Librenms /

7. Jak skonfigurować wirtualny host LibreNMS


LibreNMS to aplikacja internetowa i do tego momentu używamy serwera WWW Nginx do jej hostowania.
Utworzymy nowy plik wirtualnego hosta librenms.conf w katalogu nginx conf.d, wykonując następujące czynności:
 nano /etc/nginx/conf.d/librenms.conf
W tym nowym pliku wklejamy:
 server {# Dodaj własną nazwę domeny nasłuchuj 80; nazwa_serwera librenms.irsyadf.me; # LibreNMS Katalog Webroot root / opt / lirenms / html; indeks index.php; # Dzienniki LibreNMS dziennik_dostępu / opt / librenms / dzienniki / dziennik_dostępu; dziennik_błędów / opt / librenms / logi / dziennik_błędów; # Włączenie kompresji Gzip na Nginx charset utf-8; gzip włączony; 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; lokalizacja / {try_files $ uri $ uri / /index.php?$query_string; } lokalizacja / api / v0 {try_files $ uri $ uri / / api_v0.php?$query_string; } # PHP-FPM obsługuje wszystkie żądania plików .php lokalizacja ~ \ .php {include fastcgi.conf; fastcgi_split_path_info (. + \. php) (/.+) $; fastcgi_pass unix: /var/run/php-fpm/php7.0-fpm.sock; } lokalizacja ~ /\.ht {odrzuć wszystko; }}

POWIĘKSZAĆ

Możemy zapisać zmiany za pomocą klawiszy Ctrl + O i wyjść z edytora za pomocą Ctrl + X. Teraz możemy przetestować konfigurację Nginx, uruchamiając:

 nginx -t

POWIĘKSZAĆ

Zrestartujemy usługę Nginx, wykonując:

 systemctl uruchom ponownie nginx

8. Jak skonfigurować zaporę sieciową w CentOS 7


Musimy sprawdzić, czy pakiety firewalld są zainstalowane w twoim systemie, jeśli nie, możemy zainstalować firewalld za pomocą następującego polecenia yum:
 mniam - zainstaluj firewalld
Po zainstalowaniu uruchomimy firewalld i włączymy go podczas rozruchu za pomocą następujących poleceń systemctl:
 systemctl uruchom firewalld systemctl włącz firewalld
Po włączeniu dodamy następujące wiersze, aby włączyć odpowiednie usługi:
 firewall-cmd --add-service = http --stały firewall-cmd --add-service = https --stały firewall-cmd --add-port = 161 / udp -permanent
Zmiany stosujemy przeładowując firewalld za pomocą następującego polecenia:
 firewall-cmd -reload
Możemy wymienić reguły, aby potwierdzić, że usługi zostały poprawnie dodane:
 firewall-cmd --list-all

POWIĘKSZAĆ

Uzyskamy dostęp z dowolnej przeglądarki, wpisując adres IP serwera, wprowadzimy dane uwierzytelniające i będzie to środowisko LibreNMS:

POWIĘKSZAĆ

Stamtąd możemy przeprowadzić całe zarządzanie powiązanymi urządzeniami.

wave wave wave wave wave