Ricerca nel sito web

Come aggiungere Linux remoto al server Nagios utilizzando il plug-in NRPE


Nella prima parte dell'articolo della serie Nagios, abbiamo spiegato in dettaglio come installare e configurare l'ultima versione di Nagios Core e Nagios Plugins nelle distribuzioni basate su RHEL come come CentOS Stream, Rocky Linux, AlmaLinux e Fedora.

In questo articolo, ti mostreremo come aggiungere una macchina Linux remota e i suoi servizi all'host Nagios Core Monitoring utilizzando NRPE (Nagios Remote Plugin Executor).

Ci auguriamo che tu abbia già Nagios Core installato e funzionante correttamente. In caso contrario, utilizzare la seguente guida di installazione per installarlo sul sistema.

Se stai pianificando di aggiungere un host Windows remoto al server di monitoraggio Nagios, utilizza la seguente guida:

Una volta installato, puoi procedere ulteriormente con l'installazione dell'agente NRPE sul tuo host Remote Linux. Prima di proseguire, diamo una breve descrizione dell'NRPE.

Cos'è l'NRPE?

Il plugin NRPE (Nagios Remote Plugin Executor) ti consente di monitorare qualsiasi servizio Linux/Unix remoto e dispositivi di rete o risorse come Carico CPU, Scambio, Utilizzo della memoria, Utenti online, ecc. su Linux locale/remoto macchine.

Dopotutto, queste risorse locali non sono per lo più esposte a macchine esterne, un agente NRPE deve essere installato e configurato sulle macchine remote.

Nota: il componente aggiuntivo NRPE richiede che i Nagios Plugins siano installati sul computer Linux remoto. Senza questi, il demone NRPE non funzionerà e non monitorerà nulla.

Installazione del plugin NRPE nel server Nagios e nell'host Linux remoto

Per utilizzare NRPE, dovrai eseguire alcune attività aggiuntive sia sul Nagios Monitoring Server che sull'host Linux remoto su cui è installato NRPE SU. Tratteremo entrambe le parti dell'installazione separatamente.

Installazione dei plugin Nagios e NRPE su host Linux remoto

Utilizza le istruzioni seguenti per installare Nagios Plugins e il demone NRPE sull'host Linux remoto.

Passaggio 1: installare le dipendenze richieste

Dobbiamo installare le librerie richieste come gcc, glibc, glibc-common, e GD e le relative librerie di sviluppo utilizzando il gestore dei pacchetti yum.

yum install -y gcc glibc glibc-common gd gd-devel make net-snmp openssl-devel tar wget
Passaggio 2: crea l'utente Nagios

Crea un nuovo account utente nagios e imposta una password.

useradd nagios
passwd nagios
Passaggio 3: installa i plugin Nagios

Crea una directory per l'installazione del plugin nagios e tutti i suoi futuri download.

mkdir /root/nagios
cd /root/nagios

Ora scarica l'ultimo pacchetto Nagios Plugins con il comando wget.

wget https://nagios-plugins.org/download/nagios-plugins-2.3.3.tar.gz
Passaggio 4: estrai i plugin Nagios

Esegui il seguente comando tar per estrarre il file tar del codice sorgente.

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

Successivamente, in quella directory verrà visualizzata l'estrazione di una nuova cartella.

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
Passaggio 5: compila e installa i plugin Nagios

Successivamente, compila e installa i plugin nagios utilizzando i seguenti comandi

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

Imposta le autorizzazioni sulla directory del plugin utilizzando il comando chown.

chown nagios.nagios /usr/local/nagios
chown -R nagios.nagios /usr/local/nagios/libexec
Passaggio 6: installazione del plug-in NRPE

Per installare il plug-in nrpe, scaricare innanzitutto l'ultimo plug-in NRPE o utilizzare il seguente comando wget.

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

Decomprimere il tarball del codice sorgente NRPE.

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

Compila e installa il componente aggiuntivo NRPE.

./configure
make all

Nota: se ricevi il seguente errore durante l'esecuzione del comando "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

Quindi, devi disabilitare SSL per la configurazione nrpe con il flag ./configure --disable-ssl come mostrato.

./configure --disable-ssl
make all

Successivamente, installa il demone del plugin NRPE e prova i file di configurazione.

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

Installa il demone NRPE in systemd come servizio.

make install-init
Passaggio 7: configurazione del plugin NRPE

Ora apri il file /usr/local/nagios/etc/nrpe.cfg e aggiungi l'host locale e l'indirizzo IP del Nagios Server di monitoraggio.

allowed_hosts=127.0.0.1,192.168.102

Successivamente, abilita e riavvia il servizio nrpe.

systemctl enable nrpe
systemctl restart nrpe
Passaggio 8: aprire la porta NRPE nel firewall

Assicurati che il Firewall sul computer locale consenta l'accesso al demone NRPE da server remoti. Per fare ciò, esegui il seguente comando iptables.

firewall-cmd --zone=public --add-port=5666/tcp
firewall-cmd --zone=public --add-port=5666/tcp --permanent
Passaggio 8: verificare il demone NRPE localmente

Esegui il seguente comando netstat per verificare che il demone NRPE funzioni correttamente in 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 

Se ottieni un output simile a quello sopra, significa che funziona correttamente. In caso contrario, assicurati di controllare le seguenti cose.

  • Assicurati di controllare che la voce nrpe sia aggiunta correttamente nel file /etc/services.
  • allowed_hosts contiene una voce per "nagios_ip_address" nel file /usr/local/nagios/etc/nrpe.cfg.
  • Controlla gli errori nei file log di sistema per circa nrpe e risolvi questi problemi.

Successivamente, verifica che il demone NRPE funzioni correttamente eseguendo il comando "check_nrpe" installato in precedenza a scopo di test.

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

Sullo schermo verrà visualizzata la seguente stringa che mostra quale versione di NRPE è installata:

NRPE v4.0.2
Passaggio 9: personalizzare i comandi NRPE

Il file di configurazione NRPE predefinito installato dispone di diverse definizioni di comandi che verranno utilizzate per monitorare questa macchina. Il file di configurazione di esempio si trova in.

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

Di seguito sono riportate le definizioni dei comandi predefinite che si trovano nella parte inferiore del file di configurazione. Per il momento presumiamo che tu stia utilizzando questi comandi. Puoi controllarli utilizzando i seguenti comandi.

/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

È possibile modificare e aggiungere nuove definizioni di comando modificando il file di configurazione NRPE. Infine, hai installato e configurato correttamente l'agente NRPE sull'host Linux remoto.

Ora è il momento di installare un componente NRPE e aggiungere alcuni servizi al tuo Nagios Monitoring Server...

Installazione di NRPE su Nagios Monitoring Server

Ora accedi al tuo Nagios Monitoring Server. Qui dovrai fare le seguenti cose:

  • Installa il plugin check_nrpe.
  • Crea una definizione del comando Nagios utilizzando il plugin check_nrpe.
  • Crea un host Nagios e aggiungi definizioni di servizio per monitorare l'host Linux remoto.
Passaggio 1: installa il plug-in NRPE in Nagios

Vai alla directory di download di nagios e scarica l'ultimo plug-in NRPE o utilizza il seguente comando wget.

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

Decomprimere il tarball del codice sorgente NRPE.

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

Compila e installa il componente aggiuntivo NRPE.

./configure
make all
make install-plugin
make install-daemon
make install-init
Passaggio 2: verificare il demone NRPE in remoto

Assicurati che il plugin check_nrpe possa comunicare con il demone NRPE sull'host Linux remoto. Aggiungi l'indirizzo IP nel comando seguente con l'indirizzo IP del tuo host Linux remoto.

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

Riceverai una stringa che mostra quale versione di NRPE è installata sull'host remoto, in questo modo:

NRPE v4.0.2

Se ricevi un errore di timeout del plugin, controlla quanto segue.

  • Assicurati che il tuo firewall non blocchi la comunicazione tra l'host remoto e l'host di monitoraggio.
  • Assicurati che il demone NRPE sia installato correttamente in systemd.
  • Assicurati che le regole del firewall dell'host Linux remoto impediscano al server di monitoraggio di comunicare con il demone NRPE.

Aggiunta di host Linux remoto a Nagios Monitoring Server

Per aggiungere un host remoto è necessario creare due nuovi file “hosts.cfg” e “services.cfg” nella cartella “/usr/local/nagios/ ecc/" posizione.

Passaggio 1: creazione del file host e dei servizi Nagios
cd /usr/local/nagios/etc/
touch hosts.cfg
touch services.cfg

Ora aggiungi questi due file al file di configurazione principale di Nagios. Apri il file nagios.cfg con qualsiasi editor.

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

Ora aggiungi i due file appena creati come mostrato di seguito.

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
Passaggio 2: configurazione dell'host Nagios e del file dei servizi

Ora apri il file hosts.cfg e aggiungi il nome del modello host predefinito e definisci gli host remoti come mostrato di seguito. Assicurati di sostituire nome_host, alias e indirizzo con i dettagli del server host remoto.

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
}

Successivamente apri il file services.cfg e aggiungi i seguenti servizi da monitorare.

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
        }
Passaggio 3: configurazione della definizione del comando NRPE

Ora è necessario creare la definizione del comando NRPE nel file commands.cfg.

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

Aggiungi la seguente definizione di comando NRPE nella parte inferiore del file.

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

Infine, verifica la presenza di eventuali errori nei file di configurazione di Nagios.

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

Total Warnings: 0
Total Errors:   0

Infine, riavvia Nagios per applicare le recenti modifiche alla configurazione:

systemctl restart nagios
Passaggio 4: monitoraggio di Linux remoto in Nagios

Ora vai all'interfaccia Nagios Monitoring Web su "http://Your-server-IP-address/nagios" o "http://FQDN/nagios " e fornire il nome utente "nagiosadmin" e la password. Verifica che l'host Linux remoto sia stato aggiunto e sia monitorato.

Conclusione

Questo è tutto! per ora, nel mio prossimo articolo, ti mostrerò come aggiungere un host Windows al server di monitoraggio Nagios. Se riscontri difficoltà durante l'aggiunta dell'host remoto a Nagios.

Si prega di commentare le vostre domande o problemi tramite la sezione commenti, fino ad allora rimanete sintonizzati su linux-console.net per altri articoli di valore.