Hvordan legge til ekstern Linux til Nagios Server ved hjelp av NRPE-plugin


I den første delen av artikkelen i Nagios-serien har vi forklart i detalj hvordan du installerer og konfigurerer den nyeste versjonen av Nagios Core og Nagios Plugins i RHEL-baserte distribusjoner som f.eks. som CentOS Stream, Rocky Linux, AlmaLinux, og Fedora.

I denne artikkelen vil vi vise deg hvordan du legger til en Ekstern Linux-maskin og dens tjenester til Nagios Core Monitoring-verten ved å bruke NRPE ( >Nagios Remote Plugin Executor) agent.

Vi håper du allerede har Nagios Core installert og kjører som den skal. Hvis ikke, bruk følgende installasjonsveiledning for å installere den på systemet.

Hvis du planlegger å legge til en ekstern Windows-vert til Nagios-overvåkingsserveren, bruk følgende veiledning:

Når du har installert den, kan du fortsette videre for å installere NRPE-agenten på Ekstern Linux-verten. Før du går videre, la oss gi deg en kort beskrivelse av NRPE.

Hva er NRPE?

NRPE (Nagios Remote Plugin Executor)-plugin lar deg overvåke alle eksterne Linux/Unix-tjenester, nettverksenheter , eller ressurser som CPU-belastning, Swap, Minnebruk, Nettbrukere osv. på lokal/ekstern Linux maskiner.

Tross alt er disse lokale ressursene stort sett ikke utsatt for eksterne maskiner, en NRPE-agent må installeres og konfigureres på de eksterne maskinene.

Merk: NRPE-tillegget krever at Nagios Plugins må være installert på den eksterne Linux-maskinen. Uten disse vil ikke NRPE-demonen fungere og vil ikke overvåke noe.

Installasjon av NRPE-plugin i Nagios Server og Remote Linux Host

For å bruke NRPE, må du gjøre noen tilleggsoppgaver på både Nagios Monitoring Server og Remote Linux Host som NRPE er installert på. Vi vil dekke begge installasjonsdelene separat.

Installere Nagios-plugins og NRPE på ekstern Linux-vert

Bruk instruksjonene nedenfor for å installere Nagios Plugins og NRPE-demonen på Remote Linux Host.

Trinn 1: Installer nødvendige avhengigheter

Vi må installere nødvendige biblioteker som gcc, glibc, glibc-common, og GD og utviklingsbibliotekene ved hjelp av yum-pakkebehandleren.

yum install -y gcc glibc glibc-common gd gd-devel make net-snmp openssl-devel tar wget
Trinn 2: Opprett Nagios-bruker

Opprett en ny nagios-brukerkonto og angi et passord.

useradd nagios
passwd nagios
Trinn 3: Installer Nagios-plugins

Opprett en katalog for installasjon av nagios plugin og alle fremtidige nedlastinger.

mkdir /root/nagios
cd /root/nagios

Last ned den nyeste Nagios Plugins-pakken med wget-kommandoen.

wget https://nagios-plugins.org/download/nagios-plugins-2.3.3.tar.gz
Trinn 4: Pakk ut Nagios-plugins

Kjør følgende tar-kommando for å trekke ut kildekoden tarball.

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

Deretter vil utpakking av en ny mappe vises i den katalogen.

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
Trinn 5: Kompiler og installer Nagios-plugins

Deretter kompilerer og installerer du nagios-plugins ved å bruke følgende kommandoer

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

Angi tillatelsene til plugin-katalogen ved å bruke chown-kommandoen.

chown nagios.nagios /usr/local/nagios
chown -R nagios.nagios /usr/local/nagios/libexec
Trinn 6: Installere NRPE-plugin

For å installere nrpe-plugin, last først ned den nyeste NRPE-plugin eller bruk følgende wget-kommando.

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

Pakk ut NRPE-kildekoden tarball.

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

Kompiler og installer NRPE-tillegget.

./configure
make all

Merk: Hvis du får følgende feilmelding mens du kjører «make all»-kommandoen:

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

Deretter må du deaktivere SSL for nrpe-konfigurasjon med ./configure --disable-ssl-flagget som vist.

./configure --disable-ssl
make all

Deretter installerer du NRPE-plugin-demonen og prøver konfigurasjonsfiler.

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

Installer NRPE-daemonen under systemd som en tjeneste.

make install-init
Trinn 7: Konfigurere NRPE-plugin

Åpne nå /usr/local/nagios/etc/nrpe.cfg-filen og legg til lokal vert og IP-adresse til Nagios Overvåkingsserver.

allowed_hosts=127.0.0.1,192.168.102

Deretter aktiverer og starter du nrpe-tjenesten på nytt.

systemctl enable nrpe
systemctl restart nrpe
Trinn 8: Åpne NRPE-porten i brannmuren

Sørg for at brannmuren på den lokale maskinen lar NRPE-demonen få tilgang fra eksterne servere. For å gjøre dette, kjør følgende iptables-kommando.

firewall-cmd --zone=public --add-port=5666/tcp
firewall-cmd --zone=public --add-port=5666/tcp --permanent
Trinn 8: Bekreft NRPE-demonen lokalt

Kjør følgende netstat-kommando for å bekrefte at NRPE-demonen fungerer som den skal under 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 

Hvis du får utgang som ligner på det ovenfor, betyr det at det fungerer som det skal. Hvis ikke, sørg for å sjekke følgende ting.

  • Sørg for å sjekke at nrpe-oppføringen er riktig lagt til i/etc/services-filen.
  • allowed_hosts inneholder en oppføring for «nagios_ip_address» i /usr/local/nagios/etc/nrpe.cfg-filen.
  • Se etter feilene i systemlogg-filene for omtrent nrpe og fiks disse problemene.

Deretter kontrollerer du at NRPE-demonen fungerer som den skal ved å kjøre «check_nrpe»-kommandoen som ble installert tidligere for testformål.

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

Du vil få opp følgende streng på skjermen, den viser deg hvilken versjon av NRPE som er installert:

NRPE v4.0.2
Trinn 9: Tilpass NRPE-kommandoer

Standard NRPE-konfigurasjonsfilen som ble installert har flere kommandodefinisjoner som vil bli brukt til å overvåke denne maskinen. Eksempel på konfigurasjonsfilen er plassert på.

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

Følgende er standardkommandodefinisjonene som er plassert nederst i konfigurasjonsfilen. Foreløpig antar vi at du bruker disse kommandoene. Du kan sjekke dem ved å bruke følgende kommandoer.

/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

Du kan redigere og legge til nye kommandodefinisjoner ved å redigere NRPE-konfigurasjonsfilen. Endelig har du installert og konfigurert NRPE-agenten på Remote Linux Host.

Nå er det på tide å installere en NRPE-komponent og legge til noen tjenester til Nagios Monitoring Server...

Installere NRPE på Nagios overvåkingsserver

Logg nå på Nagios Monitoring Server. Her må du gjøre følgende:

  • Installer check_nrpe-pluginen.
  • Opprett en Nagios-kommandodefinisjon ved å bruke check_nrpe-pluginen.
  • Opprett en Nagios-vert og legg til tjenestedefinisjoner for å overvåke den fjernliggende Linux-verten.
Trinn 1: Installer NRPE-plugin i Nagios

Gå til nagios nedlastingskatalog og last ned den nyeste NRPE-pluginen eller bruk følgende wget-kommando.

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

Pakk ut NRPE-kildekoden tarball.

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

Kompiler og installer NRPE-tillegget.

./configure
make all
make install-plugin
make install-daemon
make install-init
Trinn 2: Bekreft NRPE Daemon eksternt

Sørg for at check_nrpe-pluginen kan kommunisere med NRPE-demonen på den eksterne Linux-verten. Legg til IP-adressen i kommandoen nedenfor med IP-adressen til Ekstern Linux-verten.

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

Du vil få en streng tilbake som viser deg hvilken versjon av NRPE som er installert på den eksterne verten, slik:

NRPE v4.0.2

Hvis du mottar en tidsavbruddsfeil for plugin-modulen, må du kontrollere følgende.

  • Sørg for at brannmuren din ikke blokkerer kommunikasjonen mellom den eksterne verten og overvåkingsverten.
  • Sørg for at NRPE-daemonen er riktig installert under systemd.
  • Sørg for at ekstern Linux vertsbrannmurreglene blokkerer overvåkingsserveren fra å kommunisere med NRPE-demonen.

Legger til ekstern Linux-vert til Nagios overvåkingsserver

For å legge til en ekstern vert må du opprette to nye filer «hosts.cfg» og «services.cfg» under «/usr/local/nagios/ etc/” plassering.

Trinn 1: Opprette Nagios Host and Services File
cd /usr/local/nagios/etc/
touch hosts.cfg
touch services.cfg

Legg nå til disse to filene til hovedkonfigurasjonsfilen for Nagios. Åpne nagios.cfg-filen med et hvilket som helst redigeringsprogram.

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

Legg nå til de to nyopprettede filene som vist nedenfor.

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
Trinn 2: Konfigurere Nagios Host and Services File

Åpne nå filen hosts.cfg og legg til standard vertsmalnavn og definer eksterne verter som vist nedenfor. Sørg for å erstatte vertsnavn, alias og adresse med detaljene for den eksterne vertstjeneren.

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
}

Åpne deretter filen services.cfg og legg til følgende tjenester som skal overvåkes.

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
        }
Trinn 3: Konfigurere NRPE-kommandodefinisjon

Nå må NRPE-kommandodefinisjonen opprettes i filen commands.cfg.

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

Legg til følgende NRPE-kommandodefinisjon nederst i filen.

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

Til slutt, verifiser Nagios konfigurasjonsfiler for eventuelle feil.

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

Total Warnings: 0
Total Errors:   0

Til slutt, start Nagios på nytt for å bruke nylige konfigurasjonsendringer:

systemctl restart nagios
Trinn 4: Overvåking av ekstern Linux i Nagios

Gå nå til Nagios Monitoring Web-grensesnittet på "http://Your-server-IP-address/nagios " eller "http://FQDN/nagios ” og oppgi brukernavnet “nagiosadmin ” og passord. Sjekk at Ekstern Linux-vert ble lagt til og blir overvåket.

Konklusjon

Det er det! for nå, i min kommende artikkel, vil jeg vise deg hvordan du legger til en Windows-vert til Nagios overvåkingsserver. Hvis du møter noen problemer mens du legger til den eksterne verten til Nagios.

Kommenter gjerne spørsmålene eller problemet ditt via kommentarseksjonen, inntil da følg med på linux-console.net for flere slike verdifulle artikler.