Kako dodati udaljeni Linux na Nagios server koristeći NRPE dodatak


U prvom dijelu članka iz serije Nagios, detaljno smo objasnili kako instalirati i konfigurirati najnoviju verziju Nagios Core i Nagios dodataka u RHEL distribucijama kao što su kao CentOS Stream, Rocky Linux, AlmaLinux, i Fedora.

U ovom članku ćemo vam pokazati kako dodati Remote Linux mašinu i njene usluge na Nagios Core Monitoring host koristeći NRPE (Nagios Remote Plugin Executor) agent.

Nadamo se da već imate Nagios Core instaliran i da radi ispravno. Ako ne, koristite sljedeći vodič za instalaciju da biste ga instalirali na sistem.

Ako planirate dodati udaljeni Windows host na Nagios server za praćenje, koristite sljedeći vodič:

Nakon što ga instalirate, možete nastaviti dalje da instalirate NRPE agent na vaš Remote Linux host. Prije nego krenemo dalje, dozvolite nam da vam damo kratak opis NRPE.

Šta je NRPE?

NRPE (Nagios Remote Plugin Executor) dodatak vam omogućava da nadgledate bilo koje udaljene Linux/Unix usluge, mrežne uređaje , ili resurse kao što su opterećenje procesora, zamjena, potrošnja memorije, online korisnici, itd. na lokalnom/udaljenom Linuxu mašine.

Na kraju krajeva, ovi lokalni resursi nisu uglavnom izloženi vanjskim mašinama, agent NRPE mora biti instaliran i konfiguriran na udaljenim mašinama.

Napomena: Dodatak NRPE zahtijeva da Nagios dodaci moraju biti instalirani na udaljenoj Linux mašini. Bez njih, NRPE demon neće raditi i neće ništa nadgledati.

Instalacija NRPE dodatka u Nagios Server i Remote Linux Host

Da biste koristili NRPE, morat ćete obaviti neke dodatne zadatke na Nagios Monitoring Server i Remote Linux Host na kojem je NRPE instaliran on. Zasebno ćemo pokriti oba dijela instalacije.

Instaliranje Nagios dodataka i NRPE na udaljenom Linux hostu

Molimo koristite donje upute za instaliranje Nagios dodataka i NRPE demona na Remote Linux Host.

Korak 1: Instalirajte potrebne ovisnosti

Moramo instalirati potrebne biblioteke kao što su gcc, glibc, glibc-common, i GD i njegove razvojne biblioteke koristeći yum menadžer paketa.

yum install -y gcc glibc glibc-common gd gd-devel make net-snmp openssl-devel tar wget
Korak 2: Kreirajte Nagios korisnika

Kreirajte novi nagios korisnički nalog i postavite lozinku.

useradd nagios
passwd nagios
Korak 3: Instalirajte Nagios dodatke

Kreirajte direktorij za instalaciju nagios dodatka i sva njegova buduća preuzimanja.

mkdir /root/nagios
cd /root/nagios

Sada preuzmite najnoviji Nagios Plugins paket sa wget komandom.

wget https://nagios-plugins.org/download/nagios-plugins-2.3.3.tar.gz
Korak 4: Izdvojite Nagios dodatke

Pokrenite sljedeću naredbu tar da izdvojite tarball izvornog koda.

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

Nakon toga, izdvajanje jedne nove mape će se pojaviti u tom direktoriju.

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
Korak 5: kompajlirajte i instalirajte Nagios dodatke

Zatim kompajlirajte i instalirajte nagios dodatke koristeći sljedeće naredbe

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

Postavite dozvole za direktorij dodataka pomoću naredbe chown.

chown nagios.nagios /usr/local/nagios
chown -R nagios.nagios /usr/local/nagios/libexec
Korak 6: Instaliranje NRPE dodatka

Da biste instalirali nrpe dodatak, prvo preuzmite najnoviji NRPE dodatak ili koristite sljedeću naredbu wget.

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

Raspakujte NRPE izvorni kod tarball.

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

Kompilirajte i instalirajte dodatak NRPE.

./configure
make all

Napomena: Ako dobijete sljedeću grešku dok izvodite naredbu 'napravi sve':

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

Zatim morate onemogućiti SSL za nrpe konfiguraciju sa ./configure --disable-ssl zastavicom kao što je prikazano.

./configure --disable-ssl
make all

Zatim instalirajte NRPE plugin demon i uzorke konfiguracijskih datoteka.

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

Instalirajte NRPE demon pod systemd kao uslugu.

make install-init
Korak 7: Konfiguriranje NRPE dodatka

Sada otvorite datoteku /usr/local/nagios/etc/nrpe.cfg i dodajte lokalni host i IP adresu Nagiosa Server za nadgledanje.

allowed_hosts=127.0.0.1,192.168.102

Zatim omogućite i ponovo pokrenite nrpe uslugu.

systemctl enable nrpe
systemctl restart nrpe
Korak 8: Otvorite NRPE port u Firewall-u

Uvjerite se da će Firewall na lokalnoj mašini omogućiti pristup NRPE demonu sa udaljenih servera. Da biste to učinili, pokrenite sljedeću naredbu iptables.

firewall-cmd --zone=public --add-port=5666/tcp
firewall-cmd --zone=public --add-port=5666/tcp --permanent
Korak 8: Lokalno provjerite NRPE Daemon

Pokrenite sljedeću netstat naredbu da provjerite da NRPE demon radi ispravno pod 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 

Ako dobijete izlaz sličan gore navedenom, znači da radi ispravno. Ako ne, provjerite sljedeće stvari.

  • Provjerite je li unos nrpe ispravno dodan u datoteku/etc/services.
  • allowed_hosts sadrži unos za “nagios_ip_address” u datoteci /usr/local/nagios/etc/nrpe.cfg.
  • Provjerite greške u datotekama sistemskog dnevnika za oko nrpe i riješite te probleme.

Zatim provjerite da li demon NRPE ispravno funkcionira tako što ćete pokrenuti naredbu “check_nrpe” koja je ranije instalirana u svrhu testiranja.

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

Na ekranu ćete dobiti sljedeći niz, koji vam pokazuje koja je verzija NRPE instalirana:

NRPE v4.0.2
Korak 9: Prilagodite NRPE komande

Zadana konfiguracijska datoteka NRPE koja je instalirana ima nekoliko definicija naredbi koje će se koristiti za nadgledanje ovog stroja. Primjer konfiguracijske datoteke nalazi se na.

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

Sljedeće su zadane definicije naredbi koje se nalaze na dnu konfiguracijske datoteke. Za sada, pretpostavljamo da koristite ove komande. Možete ih provjeriti korištenjem sljedećih naredbi.

/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žete uređivati i dodavati nove definicije naredbi uređivanjem NRPE konfiguracijske datoteke. Konačno, uspješno ste instalirali i konfigurirali NRPE agenta na Udaljenom Linux hostu.

Sada je vrijeme da instalirate NRPE komponentu i dodate neke usluge na vaš Nagios Monitoring Server

Instaliranje NRPE na Nagios Monitoring Server

Sada se prijavite na svoj Nagios Monitoring Server. Ovdje ćete morati uraditi sljedeće stvari:

  • Instalirajte dodatak check_nrpe.
  • Kreirajte definiciju Nagios komande koristeći dodatak check_nrpe.
  • Kreirajte Nagios host i dodajte definicije usluge za nadgledanje udaljenog Linux hosta.
Korak 1: Instalirajte NRPE dodatak u Nagios

Idite na nagios direktorij za preuzimanje i preuzmite najnoviji NRPE dodatak ili koristite sljedeću naredbu wget.

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

Raspakujte NRPE izvorni kod tarball.

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

Kompilirajte i instalirajte NRPE dodatak.

./configure
make all
make install-plugin
make install-daemon
make install-init
Korak 2: Provjera NRPE Daemon-a na daljinu

Uvjerite se da dodatak check_nrpe može komunicirati sa NRPE demonom na udaljenom Linux hostu. Dodajte IP adresu u naredbu ispod sa IP adresom vašeg Remote Linux hosta.

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

Dobit ćete niz koji vam pokazuje koja je verzija NRPE instalirana na udaljenom hostu, ovako:

NRPE v4.0.2

Ako dobijete grešku pri isteku dodatka, provjerite sljedeće stvari.

  • Provjerite da vaš firewall ne blokira komunikaciju između udaljenog hosta i host-a za praćenje.
  • Uvjerite se da je NRPE demon ispravno instaliran pod systemd.
  • Uvjerite se da pravila zaštitnog zida udaljenog Linux hosta blokiraju server za praćenje da komunicira sa NRPE demonom.

Dodavanje udaljenog Linux hosta na Nagios Monitoring Server

Za dodavanje udaljenog hosta potrebno je kreirati dvije nove datoteke “hosts.cfg” i “services.cfg” pod “/usr/local/nagios/ itd/” lokacija.

Korak 1: Kreiranje Nagios Host i Services datoteke
cd /usr/local/nagios/etc/
touch hosts.cfg
touch services.cfg

Sada dodajte ove dvije datoteke u glavni Nagios konfiguracijski fajl. Otvorite datoteku nagios.cfg u bilo kojem uređivaču.

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

Sada dodajte dvije novostvorene datoteke kao što je prikazano ispod.

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
Korak 2: Konfiguriranje Nagios host i servisne datoteke

Sada otvorite datoteku hosts.cfg i dodajte podrazumevano ime host šablona i definišite udaljene hostove kao što je prikazano ispod. Obavezno zamijenite host_name, alias i address sa detaljima vašeg udaljenog host servera.

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
}

Zatim otvorite datoteku services.cfg i dodajte sljedeće usluge koje treba nadgledati.

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
        }
Korak 3: Konfiguriranje definicije NRPE naredbe

Sada definiciju NRPE komande treba kreirati u datoteci commands.cfg.

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

Dodajte sljedeću definiciju NRPE naredbe na dno datoteke.

###############################################################################
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$
        }

Konačno, provjerite ima li u Nagios konfiguracijskim datotekama grešaka.

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

Total Warnings: 0
Total Errors:   0

Konačno, ponovo pokrenite Nagios da primijenite nedavne promjene konfiguracije:

systemctl restart nagios
Korak 4: Nadgledanje udaljenog Linuxa u Nagiosu

Sada idite na Nagios Monitoring Web sučelje na “http://Your-server-IP-address/nagios ” ili “http://FQDN/nagios ” i navedite korisničko ime “nagiosadmin ” i lozinku. Provjerite je li Udaljeni Linux host dodan i da li se nadzire.

Zaključak

To je to! za sada, u svom nadolazećem članku, pokazat ću vam kako dodati Windows host na Nagios monitoring server. Ako naiđete na bilo kakve poteškoće prilikom dodavanja udaljenog hosta u Nagios.

Molimo vas da komentarišete svoje upite ili problem putem odjeljka za komentare, a do tada pratite linux-console.net za još ovako vrijednih članaka.