Wyszukiwanie w witrynie

Jak dodać zdalny system Linux do serwera Nagios za pomocą wtyczki NRPE


W pierwszej części artykułu z serii Nagios szczegółowo wyjaśniliśmy, jak zainstalować i skonfigurować najnowszą wersję Nagios Core i Wtyczek Nagios w dystrybucjach opartych na RHEL, takich jak jako CentOS Stream, Rocky Linux, AlmaLinux i Fedora.

W tym artykule pokażemy, jak dodać maszynę Zdalny Linux i jej usługi do hosta Nagios Core Monitoring za pomocą NRPE (Nagios Remote Plugin Executor) agenta.

Mamy nadzieję, że masz już zainstalowany Nagios Core i działa on prawidłowo. Jeśli nie, skorzystaj z poniższej instrukcji instalacji, aby zainstalować go w systemie.

Jeśli planujesz dodać zdalny host Windows do serwera monitorowania Nagios, skorzystaj z poniższego przewodnika:

Po zainstalowaniu możesz kontynuować instalację agenta NRPE na hoście Remote Linux. Zanim przejdziemy dalej, pozwól nam przedstawić krótki opis NRPE.

Co to jest NRPE?

Wtyczka NRPE (Nagios Remote Plugin Executor) umożliwia monitorowanie dowolnych zdalnych usług Linux/Unix, urządzeń sieciowych lub zasoby takie jak obciążenie procesora, zamiana, wykorzystanie pamięci, użytkownicy online itp. w lokalnym/zdalnym systemie Linux maszyny.

W końcu te lokalne zasoby nie są w większości dostępne dla maszyn zewnętrznych, dlatego na zdalnych komputerach należy zainstalować i skonfigurować agenta NRPE.

Uwaga: dodatek NRPE wymaga zainstalowania wtyczek Nagios na zdalnym komputerze z systemem Linux. Bez nich demon NRPE nie będzie działał i nie będzie niczego monitorował.

Instalacja wtyczki NRPE na serwerze Nagios i zdalnym hoście Linux

Aby korzystać z NRPE, będziesz musiał wykonać kilka dodatkowych zadań zarówno na Serwerze monitorowania Nagios, jak i na Zdalnym hoście Linux, na którym jest zainstalowany NRPE NA. Obie części instalacji omówimy osobno.

Instalowanie wtyczek Nagios i NRPE na zdalnym hoście Linux

Skorzystaj z poniższych instrukcji, aby zainstalować wtyczki Nagios i demona NRPE na zdalnym hoście Linux.

Krok 1: Zainstaluj wymagane zależności

Musimy zainstalować wymagane biblioteki, takie jak gcc, glibc, glibc-common i GD oraz ich biblioteki rozwojowe przy użyciu menedżer pakietów mniam.

yum install -y gcc glibc glibc-common gd gd-devel make net-snmp openssl-devel tar wget
Krok 2: Utwórz użytkownika Nagios

Utwórz nowe konto użytkownika nagios i ustaw hasło.

useradd nagios
passwd nagios
Krok 3: Zainstaluj wtyczki Nagios

Utwórz katalog do instalacji wtyczki nagios i wszystkich przyszłych pobrań.

mkdir /root/nagios
cd /root/nagios

Teraz pobierz najnowszy pakiet wtyczek Nagios za pomocą polecenia wget.

wget https://nagios-plugins.org/download/nagios-plugins-2.3.3.tar.gz
Krok 4: Wyodrębnij wtyczki Nagios

Uruchom następujące polecenie tar, aby wyodrębnić archiwum z kodem źródłowym.

tar -xvf nagios-plugins-2.3.3.tar.gz

Następnie w tym katalogu pojawi się jeden nowy folder.

ls -l

total 2724
drwxr-xr-x. 15 root root    4096 Mar 11  2020 nagios-plugins-2.3.3
-rw-r--r--.  1 root root 2782610 Mar 11  2020 nagios-plugins-2.3.3.tar.gz
Krok 5: Skompiluj i zainstaluj wtyczki Nagios

Następnie skompiluj i zainstaluj wtyczki nagios, używając następujących poleceń

cd nagios-plugins-2.3.3
./configure 
make
make install

Ustaw uprawnienia do katalogu wtyczki za pomocą polecenia chown.

chown nagios.nagios /usr/local/nagios
chown -R nagios.nagios /usr/local/nagios/libexec
Krok 6: Instalacja wtyczki NRPE

Aby zainstalować wtyczkę nrpe, najpierw pobierz najnowszą wtyczkę NRPE lub użyj następującego polecenia wget.

cd /root/nagios
wget https://github.com/NagiosEnterprises/nrpe/releases/download/nrpe-4.0.2/nrpe-4.0.2.tar.gz

Rozpakuj archiwum tar z kodem źródłowym NRPE.

tar xzf nrpe-4.0.2.tar.gz
cd nrpe-4.0.2

Skompiluj i zainstaluj dodatek NRPE.

./configure
make all

Uwaga: jeśli podczas wykonywania polecenia „make all” pojawi się następujący błąd:

In file included from ../include/common.h:34,
                 from ./nrpe.c:38:
/usr/include/openssl/err.h:413:15: note: declared here
  413 | unsigned long ERR_get_error_line_data(const char **file, int *line,
      |               ^~~~~~~~~~~~~~~~~~~~~~~
/usr/bin/ld: /tmp/ccWQBjHb.o: in function `init_ssl':
/root/nagios/nrpe-4.0.2/src/./nrpe.c:474: undefined reference to `get_dh2048'
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:48: nrpe] Error 1

Następnie musisz wyłączyć SSL dla konfiguracji nrpe za pomocą flagi ./configure --disable-ssl, jak pokazano.

./configure --disable-ssl
make all

Następnie zainstaluj demona wtyczki NRPE i przykładowe pliki konfiguracyjne.

make install-plugin
make install-daemon
make install-config

Zainstaluj demona NRPE w systemd jako usługę.

make install-init
Krok 7: Konfiguracja wtyczki NRPE

Teraz otwórz plik /usr/local/nagios/etc/nrpe.cfg i dodaj lokalny host oraz adres IP Nagios Serwer monitorowania.

allowed_hosts=127.0.0.1,192.168.102

Następnie włącz i uruchom ponownie usługę nrpe.

systemctl enable nrpe
systemctl restart nrpe
Krok 8: Otwórz port NRPE w zaporze sieciowej

Upewnij się, że Zapora sieciowa na komputerze lokalnym umożliwia dostęp do demona NRPE ze zdalnych serwerów. Aby to zrobić, uruchom następujące polecenie iptables.

firewall-cmd --zone=public --add-port=5666/tcp
firewall-cmd --zone=public --add-port=5666/tcp --permanent
Krok 8: Zweryfikuj lokalnie demona NRPE

Uruchom następującą komendę netstat, aby sprawdzić, czy demon NRPE działa poprawnie w systemd.


# netstat -at | grep nrpe
OR
netstat -na | grep "5666"


tcp        0      0 0.0.0.0:nrpe            0.0.0.0:*               LISTEN     
tcp6       0      0 [::]:nrpe               [::]:*                  LISTEN 

Jeśli otrzymasz wynik podobny do powyższego, oznacza to, że działa poprawnie. Jeśli nie, sprawdź następujące rzeczy.

  • Upewnij się, że wpis nrpe został poprawnie dodany w pliku/etc/services.
  • allowed_hosts zawiera wpis dla „nagios_address” w pliku /usr/local/nagios/etc/nrpe.cfg.
  • Sprawdź, czy w plikach dziennika systemowego nie ma błędów dotyczących nrpe i napraw te problemy.

Następnie sprawdź, czy demon NRPE działa poprawnie, uruchamiając polecenie „check_nrpe”, które zostało zainstalowane wcześniej w celach testowych.

/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1

Na ekranie pojawi się następujący ciąg znaków, który pokazuje, która wersja NRPE jest zainstalowana:

NRPE v4.0.2
Krok 9: Dostosuj polecenia NRPE

Domyślny plik konfiguracyjny NRPE, który został zainstalowany, zawiera kilka definicji poleceń, które będą używane do monitorowania tej maszyny. Przykładowy plik konfiguracyjny znajduje się pod adresem.

vi /usr/local/nagios/etc/nrpe.cfg

Poniżej znajdują się domyślne definicje poleceń, które znajdują się na dole pliku konfiguracyjnego. Na razie zakładamy, że używasz tych poleceń. Możesz je sprawdzić za pomocą poniższych poleceń.

/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1 -c check_users

USERS OK - 1 users currently logged in |users=1;5;10;0
/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1 -c check_load

OK - load average: 3.90, 4.37, 3.94|load1=3.900;15.000;30.000;0; load5=4.370;10.000;25.000;0; load15=3.940;5.000;20.000;0;
/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1 -c check_hda1

DISK OK - free space: /boot 154 MB (84% inode=99%);| /boot=29MB;154;173;0;193
/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1 -c check_total_procs

PROCS CRITICAL: 297 processes
/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1 -c check_zombie_procs

PROCS OK: 0 processes with STATE = Z

Możesz edytować i dodawać nowe definicje poleceń, edytując plik konfiguracyjny NRPE. Wreszcie pomyślnie zainstalowałeś i skonfigurowałeś agenta NRPE na Zdalnym hoście Linux.

Teraz nadszedł czas, aby zainstalować komponent NRPE i dodać kilka usług do swojego serwera monitorowania Nagios

Instalowanie NRPE na serwerze monitorowania Nagios

Teraz zaloguj się do swojego serwera monitorowania Nagios. Tutaj musisz wykonać następujące czynności:

  • Zainstaluj wtyczkę check_nrpe.
  • Utwórz definicję polecenia Nagios za pomocą wtyczki check_nrpe.
  • Utwórz host Nagios i dodaj definicje usług w celu monitorowania zdalnego hosta Linux.
Krok 1: Zainstaluj wtyczkę NRPE w Nagios

Przejdź do katalogu pobierania nagios i pobierz najnowszą wtyczkę NRPE lub użyj następującego polecenia wget.

cd /root/nagios
wget https://github.com/NagiosEnterprises/nrpe/releases/download/nrpe-4.0.2/nrpe-4.0.2.tar.gz

Rozpakuj archiwum tar z kodem źródłowym NRPE.

tar xzf nrpe-4.0.2.tar.gz
cd nrpe-4.0.2

Skompiluj i zainstaluj dodatek NRPE.

./configure
make all
make install-plugin
make install-daemon
make install-init
Krok 2: Zdalna weryfikacja demona NRPE

Upewnij się, że wtyczka check_nrpe może komunikować się z demonem NRPE na zdalnym hoście Linux. Dodaj adres IP w poleceniu poniżej wraz z adresem IP hosta Remote Linux.

/usr/local/nagios/libexec/check_nrpe -H <remote_linux_ip_address>

Otrzymasz ciąg znaków pokazujący, która wersja NRPE jest zainstalowana na zdalnym hoście, na przykład:

NRPE v4.0.2

Jeśli pojawi się błąd przekroczenia limitu czasu wtyczki, sprawdź następujące rzeczy.

  • Upewnij się, że zapora sieciowa nie blokuje komunikacji między hostem zdalnym a hostem monitorującym.
  • Upewnij się, że demon NRPE jest poprawnie zainstalowany w systemd.
  • Upewnij się, że reguły zapory hosta zdalnego systemu Linux blokują serwerowi monitorowania komunikację z demonem NRPE.

Dodawanie zdalnego hosta Linux do serwera monitorowania Nagios

Aby dodać zdalny host, musisz utworzyć dwa nowe pliki „hosts.cfg” i „services.cfg” w folderze „/usr/local/nagios/ itp./”.

Krok 1: Tworzenie pliku hosta i usług Nagios
cd /usr/local/nagios/etc/
touch hosts.cfg
touch services.cfg

Teraz dodaj te dwa pliki do głównego pliku konfiguracyjnego Nagios. Otwórz plik nagios.cfg w dowolnym edytorze.

vi /usr/local/nagios/etc/nagios.cfg

Teraz dodaj dwa nowo utworzone pliki, jak pokazano poniżej.

You can specify individual object config files as shown below:
cfg_file=/usr/local/nagios/etc/hosts.cfg
cfg_file=/usr/local/nagios/etc/services.cfg
Krok 2: Konfiguracja pliku hosta i usług Nagios

Teraz otwórz plik hosts.cfg i dodaj domyślną nazwę szablonu hosta oraz zdefiniuj hosty zdalne, jak pokazano poniżej. Pamiętaj, aby zastąpić nazwę_hosta, alias i adres danymi swojego zdalnego serwera hosta.

vi /usr/local/nagios/etc/hosts.cfg
## Default Linux Host Template ##
define host{
name                            linux-box               ; Name of this template
use                             generic-host            ; Inherit default values
check_period                    24x7        
check_interval                  5       
retry_interval                  1       
max_check_attempts              10      
check_command                   check-host-alive
notification_period             24x7    
notification_interval           30      
notification_options            d,r     
contact_groups                  admins  
register                        0                       ; DONT REGISTER THIS - ITS A TEMPLATE
}

## Default
define host{
use                             linux-box               ; Inherit default values from a template
host_name                       tecmint		        ; The name we're giving to this server
alias                           CentOS 6                ; A longer name for the server
address                         5.175.142.66            ; IP address of Remote Linux host
}

Następnie otwórz plik services.cfg i dodaj następujące usługi, które mają być monitorowane.

vi /usr/local/nagios/etc/services.cfg
define service{
        use                     generic-service
        host_name               tecmint
        service_description     CPU Load
        check_command           check_nrpe!check_load
        }

define service{
        use                     generic-service
        host_name               tecmint
        service_description     Total Processes
        check_command           check_nrpe!check_total_procs
        }

define service{
        use                     generic-service
        host_name               tecmint
        service_description     Current Users
        check_command           check_nrpe!check_users
        }

define service{
        use                     generic-service
        host_name               tecmint
        service_description     SSH Monitoring
        check_command           check_nrpe!check_ssh
        }

define service{
        use                     generic-service
        host_name               tecmint
        service_description     FTP Monitoring
        check_command           check_nrpe!check_ftp
        }
Krok 3: Konfiguracja definicji polecenia NRPE

Teraz należy utworzyć definicję polecenia NRPE w pliku commands.cfg.

vi /usr/local/nagios/etc/objects/commands.cfg

Dodaj następującą definicję polecenia NRPE na dole pliku.

###############################################################################
NRPE CHECK COMMAND
#
Command to use NRPE to check remote host systems
###############################################################################

define command{
        command_name check_nrpe
        command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
        }

Na koniec sprawdź pliki konfiguracyjne Nagios pod kątem błędów.

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Total Warnings: 0
Total Errors:   0

Na koniec uruchom ponownie Nagios, aby zastosować ostatnie zmiany w konfiguracji:

systemctl restart nagios
Krok 4: Monitorowanie zdalnego systemu Linux w Nagios

Teraz przejdź do interfejsu Nagios Monitoring Web pod adresem „http://Twój-adres-IP-serwera/nagios” lub „http://FQDN/nagios ” i podaj nazwę użytkownika „nagiosadmin” i hasło. Sprawdź, czy Zdalny host systemu Linux został dodany i jest monitorowany.

Wniosek

Otóż to! na razie w moim nadchodzącym artykule pokażę, jak dodać hosta Windows do Serwera monitorującego Nagios. Jeśli napotkasz jakiekolwiek trudności podczas dodawania zdalnego hosta do Nagios.

Prosimy o komentowanie swoich zapytań lub problemów w sekcji komentarzy. Do tego czasu zaglądaj na linux-console.net, aby uzyskać więcej takich wartościowych artykułów.