Kako dodati gostitelja Linuxa na strežnik za spremljanje Nagios z uporabo vtičnika NRPE


V prvem delu tega članka smo podrobno razložili, kako namestiti in konfigurirati najnovejši Nagios 4.4.5 na strežniku RHEL/CentOS 8/7 in Fedora 30. V tem članku vam bomo pokazali, kako dodati oddaljeni računalnik Linux in njegove storitve gostitelju Nagios Monitoring s pomočjo agenta NRPE.

Upamo, da imate Nagios že pravilno nameščen in deluje. V nasprotnem primeru uporabite naslednji vodnik za namestitev, da ga namestite v sistem.

  1. Kako namestiti Nagios 4.4.5 na RHEL/CentOS 8/7 in Fedora 30
  2. Kako dodati gostitelja Windows na strežnik za nadzor Nagios

Ko namestite, lahko nadaljujete z namestitvijo agenta NRPE na oddaljenem gostitelju Linux. Preden nadaljujemo, naj vam na kratko opišemo NRPE.

Kaj je NRPE?

Vtičnik NRPE (Nagios Remote Plugin Executor) vam omogoča spremljanje vseh oddaljenih storitev Linux/Unix ali omrežnih naprav. Ta dodatek NRPE omogoča Nagiosu, da na oddaljenih računalnikih Linux spremlja vse lokalne vire, kot so obremenitev procesorja, zamenjava, uporaba pomnilnika, spletni uporabniki itd. Navsezadnje ti lokalni viri niso večinoma izpostavljeni zunanjim strojem, na oddaljenih računalnikih je treba namestiti in konfigurirati agent NRPE.

Opomba: Dodatek NRPE zahteva, da morajo biti vtičniki Nagios nameščeni na oddaljenem računalniku Linux. Brez tega demon NRPE ne bo deloval in ne bo ničesar spremljal.

Namestitev vtičnika NRPE

Če želite uporabljati NRPE, boste morali opraviti nekaj dodatnih nalog na nadzornem gostitelju Nagios in oddaljenem gostitelju Linux, na katerem je nameščen NRPE. Oba dela namestitve bomo pokrivali ločeno.

Predvidevamo, da NRPE nameščate na gostitelja, ki podpira ovitke TCP in na njem nameščen demon Xinted. Danes je v večini sodobnih distribucij Linuxa ta dve privzeto nameščen. V nasprotnem primeru ga bomo po potrebi namestili med namestitvijo.

Za namestitev vtičnikov Nagios in demona NRPE na oddaljeni gostitelj Linux uporabite spodnja navodila.

Pred namestitvijo moramo namestiti zahtevane knjižnice, kot so gcc, glibc, glibc-common in GD ter njene razvojne knjižnice.

 yum install -y gcc glibc glibc-common gd gd-devel make net-snmp openssl-devel

-------------- On Fedora --------------
 dnf install -y gcc glibc glibc-common gd gd-devel make net-snmp openssl-devel

Ustvarite nov uporabniški račun nagios in nastavite geslo.

 useradd nagios
 passwd nagios

Ustvarite imenik za namestitev in vse nadaljnje prenose.

 cd /root/nagios

Zdaj prenesite najnovejši paket Nagios Plugins 2.1.2 z ukazom wget.

 wget https://www.nagios-plugins.org/download/nagios-plugins-2.1.2.tar.gz

Zaženite naslednji ukaz tar, da izvlečete tarball izvorne kode.

 tar -xvf nagios-plugins-2.1.2.tar.gz

Potem se bo v tem imeniku pojavilo ekstrahiranje ene nove mape.

 ls -l

total 2640
drwxr-xr-x. 15 root root    4096 Aug  1 21:58 nagios-plugins-2.1.2
-rw-r--r--.  1 root root 2695301 Aug  1 21:58 nagios-plugins-2.1.2.tar.gz

Nato z naslednjimi ukazi prevedite in namestite

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

Nastavite dovoljenja za imenik vtičnikov.

 chown nagios.nagios /usr/local/nagios
 chown -R nagios.nagios /usr/local/nagios/libexec

Večina sistemov je privzeto nameščena. V nasprotnem primeru namestite paket xinetd z naslednjim ukazom yum.

 yum install xinetd

-------------- On Fedora --------------
 dnf install xinetd

Prenesite najnovejše pakete NRPE Plugin 3.2 z ukazom wget.

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

Razpakirajte tarbol izvorne kode NRPE.

 tar xzf nrpe-3.2.1.tar.gz
 cd nrpe-3.2.1

Prevedite in namestite dodatek NRPE.

 ./configure
 make all

Nato namestite demon vtičnika NRPE in vzorčno konfiguracijsko datoteko demona.

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

Namestite demon NRPE pod xinetd kot storitev.

 make install-xinetd
OR
 make install-inetd

Zdaj odprite datoteko /etc/xinetd.d/nrpe in dodajte localhost in naslov IP Nagios Monitoring Server.

only_from = 127.0.0.1 localhost <nagios_ip_address>

Nato odprite datoteko/etc/services in dodajte naslednji vnos za demon NRPE na dnu datoteke.

nrpe            5666/tcp                 NRPE

Znova zaženite storitev xinetd.

 service xinetd restart

Zaženite naslednji ukaz, da preverite, ali demon NRPE deluje pravilno v xinetd.

 netstat -at | grep nrpe

tcp        0      0 *:nrpe                      *:*                         LISTEN

Če dobite izhod, podoben zgornjemu, pomeni, da deluje pravilno. Če ne, preverite naslednje.

  1. Preverite, ali ste pravilno dodali vnos nrpe v datoteko/etc/services
  2. Edini_od vsebuje vnos za »nagios_ip_address« v datoteki /etc/xinetd.d/nrpe.
  3. Xinetd je nameščen in zagnan.
  4. Preverite, ali so v sistemskih dnevniških datotekah napake približno xinetd ali nrpe, in odpravite te težave.

Nato preverite, ali demon NRPE deluje pravilno. Zaženite ukaz "check_nrpe", ki je bil prej nameščen za namene testiranja.

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

Na zaslonu se prikaže naslednji niz, ki prikazuje, katera različica NRPE je nameščena:

NRPE v3.2

Prepričajte se, da požarni zid na lokalnem računalniku omogoča dostop do demona NRPE z oddaljenih strežnikov. Če želite to narediti, zaženite naslednji ukaz iptables.

-------------- On RHEL/CentOS 6/5 and Fedora --------------
 iptables -A INPUT -p tcp -m tcp --dport 5666 -j ACCEPT

-------------- On RHEL/CentOS 8/7 and Fedora 19 Onwards --------------
 firewall-cmd --permanent --zone=public --add-port=5666/tcp

Zaženite naslednji ukaz, da shranite novo pravilo iptables, da bo preživelo ob ponovnem zagonu sistema.

-------------- On RHEL/CentOS 6/5 and Fedora --------------
 service iptables save

Nameščena privzeta konfiguracijska datoteka NRPE vsebuje več definicij ukazov, ki bodo uporabljene za nadzor te naprave. Vzorčna konfiguracijska datoteka, ki se nahaja na.

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

Sledijo privzete definicije ukazov, ki se nahajajo na dnu konfiguracijske datoteke. Za zdaj predvidevamo, da uporabljate te ukaze. Preverite jih lahko z naslednjimi ukazi.

# /usr/local/nagios/libexec/check_nrpe -H localhost -c check_users

USERS OK - 1 users currently logged in |users=1;5;10;0
# /usr/local/nagios/libexec/check_nrpe -H localhost -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 localhost -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 localhost -c check_total_procs

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

PROCS OK: 0 processes with STATE = Z

Z urejanjem konfiguracijske datoteke NRPE lahko urejate in dodajate nove definicije ukazov. Na koncu ste uspešno namestili in konfigurirali posrednika NRPE na oddaljenem gostitelju Linux. Zdaj je čas, da namestite komponento NRPE in dodate nekaj storitev v svoj strežnik za nadzor Nagios ...

Zdaj se prijavite v svoj Nagios Monitoring Server. Tu boste morali narediti naslednje:

  1. Namestite vtičnik check_nrpe.
  2. Ustvarite definicijo ukaza Nagios z vtičnikom check_nrpe.
  3. Ustvarite gostitelja Nagios in dodajte definicije storitev za nadzor oddaljenega gostitelja Linuxa.

Pojdite v imenik za nagios in z ukazom wget prenesite najnovejši vtičnik NRPE.

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

Razpakirajte tarbol izvorne kode NRPE.

 tar xzf nrpe-3.2.1.tar.gz
 cd nrpe-3.2

Prevedite in namestite dodatek NRPE.

 ./configure
 make all
 make install-daemon

Prepričajte se, da lahko vtičnik check_nrpe komunicira z demonom NRPE na oddaljenem gostitelju Linux. V spodnji ukaz dodajte naslov IP z naslovom IP oddaljenega gostitelja Linux.

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

Vrnili boste niz, ki vam bo pokazal, katera različica NRPE je nameščena na oddaljenem gostitelju, takole:

NRPE v3.2

Če se prikaže napaka zaradi izteka vtičnika, preverite naslednje.

  1. Prepričajte se, da požarni zid ne blokira komunikacije med oddaljenim gostiteljem in nadzornim gostiteljem.
  2. Prepričajte se, da je demon NRPE pravilno nameščen pod xinetd.
  3. Prepričajte se, da pravila oddaljenega gostiteljskega požarnega zidu Linux preprečujejo komunikacijo strežnika za spremljanje z demonom NRPE.

Dodajanje oddaljenega gostitelja Linuxa strežniku za nadzor Nagios

Če želite dodati oddaljenega gostitelja, morate na lokaciji »/ usr/local/nagios/etc /« ustvariti dve novi datoteki »hosts.cfg« in »services.cfg«.

 cd /usr/local/nagios/etc/
 touch hosts.cfg
 touch services.cfg

Zdaj dodajte ti dve datoteki v glavno konfiguracijsko datoteko Nagios. Datoteko nagios.cfg odprite s katerim koli urejevalnikom.

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

Zdaj dodajte dve novo ustvarjeni datoteki, kot je prikazano spodaj.

# 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

Zdaj odprite datoteko hosts.cfg in dodajte privzeto ime predloge gostitelja ter definirajte oddaljene gostitelje, kot je prikazano spodaj. Ne pozabite zamenjati gostiteljskega imena, vzdevka in naslova s podrobnostmi oddaljenega gostiteljskega strežnika.

 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
}

Nato odprite datoteko services.cfg in dodajte naslednje storitve, ki jih želite nadzirati.

 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
        }

Zdaj je treba v datoteki commands.cfg ustvariti definicijo ukaza NRPE.

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

Na dno datoteke dodajte naslednjo definicijo ukaza NRPE.

###############################################################################
# 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 koncu preverite konfiguracijske datoteke Nagios za morebitne napake.

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

Total Warnings: 0
Total Errors:   0

Znova zaženite Nagios:

 service nagios restart

To je to. Zdaj pojdite na spletni vmesnik Nagios Monitoring na\"http:// Your-server-IP-address/nagios" ali\"http:// FQDN/nagios" in vnesite uporabniško ime\"nagiosadmin" in geslo. Preverite, ali je daljinski upravljalnik Linux Host je bil dodan in se nadzira.

To je to! za zdaj vam bom v našem članku, ki prihaja, pokazal, kako dodati strežnika Windows v strežnik za nadzor Nagios. Če imate težave pri dodajanju oddaljenega gostitelja v Nagios. Prosimo, komentirajte svoje poizvedbe ali težave v razdelku za komentarje, do takrat pa spremljajte linux-console.net za več tako dragocenih člankov.