Jak skonfigurować NRPE do monitorowania po stronie klienta
- 726
- 64
- Maurycy Napierała
NRPE lub Nagios zdalne wykonawcy wtyczki to usługa po stronie klienta konfiguracji monitorowania. Serwer monitorujący wyśle polecenia do klienta, który słucha pasywnie, gdy nie ma żadnej pracy do wykonania. Przy przychodzącym rozkazie, NRPE
sprawdza konfigurację lokalną i wykonuje wtyczkę skonfigurowaną z poleceniem, a następnie wysyła wyniki do serwera w celu przetworzenia. Możesz przeczytać więcej o instalacji po stronie serwera w przewodniku instalacyjnym Nagios, a ten przewodnik skupił się na stronie klienta.
W tym samouczku nauczysz się:
- Jak zainstalować NRPE w dystrybucjach opartych na Debian/Red Hat
- Jak skonfigurować NRPE do akceptowania poleceń z serwera
- Jak skonfigurować kontrolę niestandardową po stronie serwera i klienta
Zastosowane wymagania i konwencje oprogramowania
Kategoria | Wymagania, konwencje lub wersja oprogramowania |
---|---|
System | Ubuntu 18.04, Fedora 30 |
Oprogramowanie | Nagios 4.3.4, NRPE 3.2.1 |
Inny | Uprzywilejowany dostęp do systemu Linux jako root lub za pośrednictwem sudo Komenda. |
Konwencje | # - Wymaga, aby podane polecenia Linux są wykonywane z uprawnieniami root bezpośrednio jako użytkownik root lub za pomocą sudo Komenda$ - Wymaga, aby podane polecenia Linux zostały wykonane jako zwykły użytkownik niepewny |
Instalowanie NRPE w dystrybucjach opartych na Debian/Red Hat
Instalowanie wymaganego oprogramowania jest proste. Omówimy Ubuntu, OpenSuse, Fedora i Rhel.
Instalowanie NRPE na Ubuntu
Na Ubuntu ten proces jest jednym z liniów. Pakiet Demon NRPE, o nazwie Nagios-nrpe-serwer
, jest w domyślnych repozytoriach.
# apt-get instaluj Nagios-NRPE-server
W przypadku Ubuntu główny plik konfiguracyjny to /etc/nagios/nrpe.CFG
, katalog, który jest domyślnie uwzględniony /etc/nagios/nrpe.D/
, które mogą być używane do konfiguracji upuszczania. Pakiet dodaje również pusty lokalny plik konfiguracyjny /etc/nagios/nrpe_local.CFG
dla wygody. Ten ostatni nie jest zawarty RPM
rozkłady oparte na oparciu.
Instalowanie NRPE na OpenSuse
W najnowszych wersjach OpenSuse oprogramowanie NRPE jest również pakowane w domyślne repozytoria. Więc instalacja jest pojedynczym poleceniem Linux.
# Zypper w NRPE
W przeciwieństwie do innych dystrybucji, OpenSuse umieszcza główny plik konfiguracyjny na ścieżce /etc/nRPE.CFG
.
Instalowanie NRPE na Fedorze
Projekt Fedora również pakuje NRPE
, i dlatego powinno być osiągalne z domyślnych repozytoriów. Po prostu użyjemy DNF
do instalacji.
# DNF instaluj NRPE
Głównym plik konfiguracyjnym będzie /etc/nagios/nrpe.CFG
, a domyślnie dołączono katalog /etc/nRPE.D/
.
Instalowanie NRPE na Red Hat Enterprise Linux
W przypadku Rhel, NRPE
Pakiet nie jest w domyślnych repozytoriach. Musisz włączyć repozytorium EPEL, aby stamtąd instalować pakiety.
Możesz wykonać kroki opisane w przewodniku, aby włączyć repozytorium EPEL, lub importować i opublikować zawartość repozytoriów EPEL, jeśli masz zamknięte środowisko z wewnętrznym dystrybucją oprogramowania. W obu przypadkach, po dostępnym repozytorium komputera klienta, proces instalacji jest dość taki sam jak powyżej.
# Yum Instal NRPE
Pliki konfiguracyjne są w tym samym miejscu, co w przypadku Fedory.
OSTRZEŻENIEZawsze przeprowadzaj staranne testowanie przed włączeniem nowego repozytorium do środowiska produkcyjnego. W takim przypadku EPEL może zawierać pakiety, które można by postrzegać jako aktualizacje pakietów Red Hat, co powoduje nieoczekiwane zmiany oprogramowania w systemie podczas uruchamiania pełnej aktualizacji.
Konfigurowanie NRPE do akceptowania poleceń z serwera
Aby skonfigurować obsługę klienta, możemy użyć głównego pliku konfiguracyjnego, ale zalecam użycie pliku niestandardowego i umieszczanie go w katalogu zawartym w głównym pliku konfiguracyjnym. W ten sposób aktualizacje pochodzące z aktualizacji pakietu NRPE.CFG
można zastosować bez zmian w naszej niestandardowej konfiguracji.
Możemy również dołączyć nasze własne pliki konfiguracyjne niestandardowe w naszych niestandardowych pakietach, umożliwiając w ten sposób aktualizację konfiguracji monitorowania klienta w scentralizowany i zautomatyzowany sposób. Mając to na uwadze, skonfigurujemy klienta w /etc/nRPE.D/Custom.CFG
we wszystkich rozkładach w następujących przykładach.
NRPE nie akceptuje żadnych poleceń innych niż Lokalny Gospodarz
domyślnie. To jest z powodów bezpieczeństwa. Aby umożliwić wykonanie polecenia z serwera, musimy ustawić adres IP serwera jako dozwolony adres. W naszym przypadku serwer jest serwerem Nagios z adresem IP 10.101.20.34
. Dodajemy następujące do naszej konfiguracji klienta:
dozwolone_hosts = 10.101.20.34
Można dodać wiele adresów lub nazw hostów, oddzielonych przez przecinki. Zauważ, że powyższa logika wymaga statycznego adresu dla serwera monitorowania. Za pomocą DHCP
Na serwerze monitorowania z pewnością przełamie Twoją konfigurację, jeśli użyjesz adresu IP tutaj. To samo dotyczy scenariusza, w którym używasz nazwy hosta, a klient nie może rozwiązać nazwy hosta serwera.
Konfigurowanie niestandardowej kontroli po stronie serwera i klienta
Aby zademonstrować kapability konfiguracji monitorowania, powiedzmy, że chcielibyśmy wiedzieć, czy lokalny system postfix dostarcza pocztę na kliencie dla użytkownika źródło
. Poczta może zawierać Cronjob
wyjście, jakiś raport lub coś, co jest zapisane do Stderr
i jest domyślnie dostarczany jako poczta. Na przykład, Abrt
Wysyła raport o awarii do źródło
Domyślnie w przypadku awarii procesowej. Nie skonfigurowaliśmy przekaźnika pocztowego, ale nadal chcielibyśmy wiedzieć, czy poczta nadejdzie. Napiszmy niestandardowy czek, aby to monitorować.
- Nasz pierwszy kawałek układanki to sam czek. Rozważ następujący prosty skrypt bash nazywany
Check_unread_mail
:
Kopiuj#!/bin/bash użytkownik = root if ["$ (palec poleceń >>/dev/null; echo $?) "-GT 0]; następnie echo" nieznany: palec narzędzi nie znaleziono "exit 3 fi, jeśli [" $ (id "$ user" >> /dev /null; echo $?) "-GT 0]; następnie echo" nieznany: użytkownik $ użytkownik nie istnieje "Wyjdź 3 fi ## Sprawdź pocztę, jeśli [" $ (palcem -pm "$ użytkownik" | ogon -n 1 | grep -ic "nie Poczta.")" -GT 0]; Następnie echo „OK: Brak nieprzeczytania poczty dla użytkownika $ użytkownika„ Wyjdź 0 else echo ”Ostrzeżenie: niereade poczta dla użytkownika $ użytkownika” Wyjdź 1 fi
Ta prosta kontrola używa
palec
narzędzie do sprawdzenia nieprzeczytanych poczty dla użytkownikaźródło
. Wyjściepalec -pm
może się różnić w zależności od wersji, a tym samym dystrybucji, więc mogą być konieczne pewne korekty.Na przykład na Fedorze 30, ostatni wiersz wyjścia
palec -pm
nie ma poczty.”, Ale na OpenSuse Leap 15.1 Byłoby to „Brak poczty.”(Zwróć uwagę na pocztę górną). W tym przypadkugrep -i
obsługuje tę różnicę, ale dobrze pokazuje, że podczas pracy z różnymi rozkładami i wersjami mogą być potrzebne dodatkowe prace. - Będziemy potrzebować
palec
Aby ten czek zadziałał. Nazwa pakietu jest taka sama we wszystkich dystrybucjach, więc możemy zainstalować go ztrafny
,Zypper
,DNF
Lubmniam
. - Musimy ustawić sprawdzanie wykonywalnego:
# chmod +x check_unread_mail
- Umieścimy czek w
/usr/lib64/nagios/wtyczki
katalog, wspólne miejsce dla kontroli NRPE. Odwołamy się później. - Nazwiemy nasze polecenie
Check_mail_root
. Umieśćmy kolejną linię w naszej niestandardowej konfiguracji klienta, w której mówimyNRPE
Jakie polecenia akceptujemy i co trzeba zrobić, gdy przybywa dane polecenie:Polecenie [Check_mail_root] =/usr/lib64/nagios/wtyczki/check_unread_mail
- Dzięki temu nasza konfiguracja klienta jest kompletna. Możemy rozpocząć usługę klienta
Systemd
. Nazwa usługi toNagios-nrpe-serwer
na temat pochodnych debiana i po prostuNRPE
na innych dystrybucjach.# SystemCtl Start Nagios-NRPE-SERVER # SYSTEMCTL STATUS NAGIOS-NRPE-SERVER ● Nagios-NRPE-SERVER.Service-Nagios zdalny wtyczka Wykonawca załadowany: załadowany (/lib/systemd/system/nagios-nrpe-serwer.praca; włączony; PRESET dostawcy: włączony) Aktywne: Aktywne (uruchamiające) od wtorek 2019-09-10 13:03:10 Cest; 1min 51 lat temu Dokumenty: http: // www.Nagios.Org /Dokumentacja Główna PID: 3782 (NRPE) Zadania: 1 (Limit: 3549) Cgroup: /System.Server Slice/Nagios-NRPE.serwis └─3782/usr/sbin/nrpe -c/etc/nagios/nrpe.CFG -F Szept 10 13:03:10 System-test-test-client [1]: Rozpoczęty Wykonawca wtyczek Nagios. Szept 10 13:03:10 NRPE-Test-Client [3782]: Rozpoczęcie demona Szept 10 13:03:10 NRPE-Test-Client [3782]: Server Słuchanie na 0.0.0.0 Port 5666. Szept 10 13:03:10 NRPE-Test-Client [3782]: Server Słuchanie na :: Port 5666. Szept 10 13:03:10 NRPE-Test-Client [3782]: Słuchanie połączeń na porcie 5666
- Teraz możemy skonfigurować stronę serwera. Jeśli jeszcze go nie mamy, możemy zdefiniować polecenie, które wywołuje pilot
NRPE
instancja z poleceniem jako jedynym argumentem:
Kopiuj# To polecenie uruchamia program $ arg1 $ bez żadnych argumentów Zdefiniuj polecenie Command_name Check_NRPE_1ARG Command_Line $ User1 $/Check_NRPE -h $ hostaddress $ -t 60 -c $ arg1/dev/null
- Definiujemy również klienta jako hosta:
KopiujZdefiniuj hosta Użyj Linux-Server Host_name Test-Test-Client Alias Alias-Test-Client
Adres może być adresem IP lub nazwa hosta. W późniejszym przypadku musimy upewnić się, że może zostać rozwiązany przez serwer monitorowania.
- Możemy zdefiniować usługę na powyższym hoście za pomocą polecenia bocznego Nagios i polecenia po stronie klienta:
KopiujZdefiniuj usługę Użyj ogólnej obsługi hosta_name-test-test-client Service_descript!check_mail_root
Te regulacje można umieścić w dowolnym pliku konfiguracyjnym, który serwer Nagios odczytuje na startup, ale dobrą praktyką jest utrzymywanie schwytania plików konfiguracyjnych.
- Weryfikujemy naszą nową konfigurację Nagios:
# nagios -v/etc/nagios/nagios.CFG
Jeśli „wszystko wygląda dobrze”, możemy zastosować konfigurację do przeładowania serwera:
# SystemCtl RELOOD NAGIOS
Wniosek
Jeśli wszystko zadziała, za kilka minut powinniśmy zobaczyć, jak nasz nowy klient pojawia się na stronie internetowej Nagios, z nową usługą „OS: Undead Mail for Root”, a ze statusem zielonego „OK” (to znaczy, jeśli nie ma tego t nieprzeczytany poczta źródło
).
Powyższe skrypty zgłaszają ostrzeganie tylko wtedy, gdy pojawi się nowa poczta: W przykładowym środowisku nie jest uważane za kwestię krytyczną, awaria aplikacji powinna wygenerować błąd krytyczny w drodze, zanim nadejdzie poczta. W tle serwer Nagios przekazuje klientowi polecenie „Check_mail_root”, gdzie NRPE
Wykonuje nasz niestandardowy skrypt, który zapewnia dane wyjściowe „OK: No nieprzeczytane pocztę dla root użytkownika” oraz kod wyjściowy 0 (który jest tłumaczony przez Nagios jako stan „OK”).
Ta prosta konfiguracja ma na celu pokazanie przepływu poleceń i danych w konfiguracji NAGIOS+NRPE, a także wyjaśnienie podstawowych środków rozszerzenia naszych możliwości monitorowania. Czeki z liczbami (zwane wtyczkami) są zapisane w różnych językach dla wspólnych zastosowań, na przykład parsingu plików logarytmicznych, kontroli bazy danych, informacji o status.
Wiele z nich jest również zapakowanych w wyżej wymienionych repozytoriach, a jeszcze więcej można znaleźć na oficjalnych stronach Nagios. Chociaż są to świetny zasób, gdy musimy monitorować coś nowego, nie bierz za coś oczywistego, że zrobią dokładnie to, czego potrzebujesz po wyjęciu z pudełka. W tym przypadku potrzebne jest również ulepszanie ich konfiguracji i uważne testowanie, a jeśli okaże się, że niewielka modyfikacja może dodać świetną funkcję/błąd, nie wahaj się wnieść jej z powrotem do społeczności monitorującej. W końcu w ten sposób jest budowany.
Powiązane samouczki Linux:
- Zagnieżdżone pętle w skryptach Bash
- Optymalizacja wydajności Linux: Narzędzia i techniki
- Rzeczy do zainstalowania na Ubuntu 20.04
- Rzeczy do zrobienia po zainstalowaniu Ubuntu 20.04 Focal Fossa Linux
- Ubuntu 20.04 Monitorowanie systemu za pomocą widżetów study
- Jak wysłać powiadomienia stacjonarne za pomocą powiadomienia-send
- Ubuntu 22.04 Monitorowanie systemu za pomocą widżetów study
- Najlepsze narzędzie do monitorowania systemu dla Linux
- Hung Linux System? Jak uciec do wiersza poleceń i…
- Linux: Ustaw ssh
- « Przywróć kopię zapasową konfiguracji PFSense z konsoli za pomocą dysku USB
- Jak zainstalować Java na RHEL 8 / Centos 8 Linux »