Kako dodati udaljeni Linux na Nagios poslužitelj pomoću NRPE dodatka


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

U ovom članku pokazat ćemo vam kako dodati Remote Linux stroj i njegove usluge hostu Nagios Core Monitoring koristeći NRPE (Nagios Remote Plugin Executor) agent.

Nadamo se da ste već instalirali Nagios Core i da radi ispravno. Ako nije, upotrijebite sljedeći vodič za instalaciju da biste ga instalirali na sustav.

Ako planirate dodati udaljeni Windows host poslužitelju za nadzor Nagios, upotrijebite sljedeći vodič:

Nakon što ga instalirate, možete nastaviti s instaliranjem NRPE agenta na vašem Remote Linux hostu. Prije nego što krenemo dalje, dat ćemo vam kratak opis NRPE.

Što je NRPE?

Dodatak NRPE (Nagios Remote Plugin Executor) omogućuje praćenje bilo koje udaljene Linux/Unix usluge, mrežnih uređaja ili resurse kao što su opterećenje procesora, zamjena, upotreba memorije, mrežni korisnici itd. na lokalnom/udaljenom Linuxu strojevi.

Uostalom, ovi lokalni resursi uglavnom nisu izloženi vanjskim strojevima, NRPE agent mora biti instaliran i konfiguriran na udaljenim strojevima.

Napomena: dodatak NRPE zahtijeva da Nagios dodaci moraju biti instalirani na udaljenom Linux računalu. Bez toga demon NRPE neće raditi i neće ništa nadzirati.

Instalacija NRPE dodatka u Nagios poslužitelj i udaljeni Linux host

Da biste koristili NRPE, morat ćete obaviti neke dodatne zadatke na Nagios poslužitelju za nadgledanje i Udaljenom Linux hostu na kojem je instaliran NRPE na. Objasnit ćemo oba dijela instalacije zasebno.

Instaliranje Nagios dodataka i NRPE na udaljenom Linux računalu

Upotrijebite donje upute za instaliranje Nagios dodataka i NRPE demona na Udaljeno Linux računalo.

Korak 1: Instalirajte potrebne ovisnosti

Moramo instalirati potrebne biblioteke kao što su gcc, glibc, glibc-common, i GD i njihove razvojne biblioteke koristeći upravitelj paketa yum.

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

Napravite novi nagios korisnički račun i postavite lozinku.

useradd nagios
passwd nagios
Korak 3: Instalirajte Nagios dodatke

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

mkdir /root/nagios
cd /root/nagios

Sada preuzmite najnoviji paket Nagios dodataka pomoću naredbe wget.

wget https://nagios-plugins.org/download/nagios-plugins-2.3.3.tar.gz
Korak 4: Ekstrahirajte 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 pojavit će se 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: Prevedite i instalirajte Nagios dodatke

Zatim prevedite i instalirajte nagios dodatke pomoću sljedećih naredbi

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

Postavite dopuštenja 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 upotrijebite 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

Raspakirajte tarball izvornog koda NRPE.

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

Kompajlirajte i instalirajte dodatak NRPE.

./configure
make all

Napomena: Ako dobijete sljedeću pogrešku dok izvodite naredbu ‘make all’:

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 trebate onemogućiti SSL za nrpe konfiguraciju s oznakom ./configure --disable-ssl kao što je prikazano.

./configure --disable-ssl
make all

Zatim instalirajte NRPE plugin daemon i ogledne konfiguracijske datoteke.

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 Nagios Poslužitelj za praćenje.

allowed_hosts=127.0.0.1,192.168.102

Zatim omogućite i ponovno pokrenite uslugu nrpe.

systemctl enable nrpe
systemctl restart nrpe
Korak 8: Otvorite NRPE port u vatrozidu

Provjerite dopušta li Vatrozid na lokalnom računalu pristup NRPE demonu s udaljenih poslužitelja. 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 naredbu netstat da biste provjerili 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, to znači da radi ispravno. Ako ne, svakako provjerite sljedeće stvari.

  • Obavezno 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 pogreške u datotekama log sustava za oko nrpe i riješite te probleme.

Zatim provjerite radi li NRPE demon ispravno pokretanjem naredbe “check_nrpe” koja je ranije instalirana u svrhu testiranja.

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

Dobit ćete sljedeći niz na ekranu, on vam pokazuje koja je verzija NRPE instalirana:

NRPE v4.0.2
Korak 9: Prilagodite NRPE naredbe

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

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

Slijede zadane definicije naredbi koje se nalaze na dnu konfiguracijske datoteke. Za sada pretpostavljamo da koristite ove naredbe. Možete ih provjeriti pomoću 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 urediti i dodati nove definicije naredbi uređivanjem NRPE konfiguracijske datoteke. Konačno, uspješno ste instalirali i konfigurirali NRPE agent na Udaljenom Linux hostu.

Sada je vrijeme da instalirate NRPE komponentu i dodate neke usluge svom Nagios poslužitelju za praćenje

Instaliranje NRPE na Nagios poslužitelj za praćenje

Sada se prijavite na svoj Nagios poslužitelj za praćenje. Ovdje ćete morati učiniti sljedeće stvari:

  • Instalirajte dodatak check_nrpe.
  • Stvorite Nagios definiciju naredbe pomoću dodatka check_nrpe.
  • Stvorite Nagios host i dodajte definicije usluge za nadzor udaljenog Linux hosta.
Korak 1: Instalirajte NRPE dodatak u Nagios

Idite u nagios direktorij za preuzimanje i preuzmite najnoviji NRPE dodatak ili upotrijebite 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

Raspakirajte tarball izvornog koda NRPE.

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

Kompajlirajte i instalirajte NRPE dodatak.

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

Provjerite može li dodatak check_nrpe komunicirati s demonom NRPE na udaljenom hostu Linux. Dodajte IP adresu u naredbu ispod s IP adresom vašeg Udaljenog Linuxa hosta.

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

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

NRPE v4.0.2

Ako primite pogrešku isteka vremena dodatka, provjerite sljedeće.

  • Provjerite da vaš vatrozid ne blokira komunikaciju između udaljenog glavnog računala i nadzornog glavnog računala.
  • Provjerite je li NRPE demon ispravno instaliran pod systemd.
  • Uvjerite se da pravila vatrozida hosta za udaljeni Linux blokiraju poslužitelj za praćenje da komunicira s demonom NRPE.

Dodavanje udaljenog Linux hosta Nagios poslužitelju za praćenje

Za dodavanje udaljenog glavnog računala morate stvoriti dvije nove datoteke “hosts.cfg” i “services.cfg” pod “/usr/local/nagios/ etc/” mjesto.

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

Sada dodajte ove dvije datoteke u glavnu Nagios konfiguracijsku datoteku. Otvorite datoteku nagios.cfg bilo kojim uređivačem.

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

Sada dodajte dvije novostvorene datoteke kao što je prikazano u nastavku.

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 datoteke hosta i usluga Nagios

Sada otvorite datoteku hosts.cfg i dodajte naziv predloška zadanog hosta i definirajte udaljene hostove kao što je prikazano u nastavku. Obavezno zamijenite naziv_domaćina, pseudonim i adresu detaljima vašeg udaljenog poslužitelja.

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 za nadzor.

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 naredbe treba kreirati u datoteci commands.cfg.

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

Dodajte sljedeću definiciju naredbe NRPE na dnu 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 Nagios konfiguracijske datoteke ima li grešaka.

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

Total Warnings: 0
Total Errors:   0

Na kraju ponovno pokrenite Nagios kako biste primijenili nedavne promjene konfiguracije:

systemctl restart nagios
Korak 4: Nadgledanje udaljenog Linuxa u Nagiosu

Sada idite na web sučelje Nagios Monitoring na “http://IP-adresa-poslužitelja/nagios” ili “http://FQDN/nagios ” i navedite korisničko ime “nagiosadmin ” i lozinku. Provjerite je li Remote Linux Host dodan i nadzire li se.

Zaključak

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

Komentirajte svoje upite ili problem putem odjeljka za komentare, a do tada pratite linux-console.net za još takvih vrijednih članaka.