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.