Jak skonfigurować NRPE do monitorowania po stronie klienta

Jak skonfigurować NRPE do monitorowania po stronie klienta

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
NRPE - zdalny wykonawca wtyczki NRPE

Zastosowane wymagania i konwencje oprogramowania

Wymagania oprogramowania i konwencje linii poleceń Linux
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ŻENIE
Zawsze 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ć.

  1. Nasz pierwszy kawałek układanki to sam czek. Rozważ następujący prosty skrypt bash nazywany Check_unread_mail:
    #!/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
    Kopiuj

    Ta prosta kontrola używa palec narzędzie do sprawdzenia nieprzeczytanych poczty dla użytkownika źródło. Wyjście palec -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 przypadku grep -i obsługuje tę różnicę, ale dobrze pokazuje, że podczas pracy z różnymi rozkładami i wersjami mogą być potrzebne dodatkowe prace.

  2. Będziemy potrzebować palec Aby ten czek zadziałał. Nazwa pakietu jest taka sama we wszystkich dystrybucjach, więc możemy zainstalować go z trafny, Zypper, DNF Lub mniam.
  3. Musimy ustawić sprawdzanie wykonywalnego:
    # chmod +x check_unread_mail
  4. Umieścimy czek w /usr/lib64/nagios/wtyczki katalog, wspólne miejsce dla kontroli NRPE. Odwołamy się później.
  5. Nazwiemy nasze polecenie Check_mail_root. Umieśćmy kolejną linię w naszej niestandardowej konfiguracji klienta, w której mówimy NRPE Jakie polecenia akceptujemy i co trzeba zrobić, gdy przybywa dane polecenie:
    Polecenie [Check_mail_root] =/usr/lib64/nagios/wtyczki/check_unread_mail
  6. Dzięki temu nasza konfiguracja klienta jest kompletna. Możemy rozpocząć usługę klienta Systemd. Nazwa usługi to Nagios-nrpe-serwer na temat pochodnych debiana i po prostu NRPE 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


  7. 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:
    # 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
    Kopiuj
  8. Definiujemy również klienta jako hosta:
    Zdefiniuj hosta Użyj Linux-Server Host_name Test-Test-Client Alias ​​Alias-Test-Client
    Kopiuj

    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.

  9. Możemy zdefiniować usługę na powyższym hoście za pomocą polecenia bocznego Nagios i polecenia po stronie klienta:
    Zdefiniuj usługę Użyj ogólnej obsługi hosta_name-test-test-client Service_descript!check_mail_root
    Kopiuj

    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.

  10. 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