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.