Monitoraggio remoto Nagios: NRPE vs. SSH


8

Usiamo Nagios per monitorare parecchi (~ 130) server. Monitoriamo CPU, disco, RAM e poche altre cose su ciascun server. Ho sempre usato SSH per eseguire i comandi remoti, semplicemente perché richiede poca o nessuna configurazione aggiuntiva sul server remoto, basta installare nagios-plugins, creare l'utente nagios e aggiungere la chiave SSH, il tutto in cui ho automatizzato uno script di shell. Non ho mai considerato le implicazioni delle prestazioni dell'utilizzo di SSH su NRPE.

Non sono troppo infastidito dal hit di caricamento sul server Nagios (probabilmente è sovra-specificato per quello che fa, non è mai stato oltre il 10% della CPU), ma eseguiamo ogni controllo remoto ogni 30 secondi e ogni server ha 5 controlli diversi eseguita. Presumo che SSH richieda più risorse per ogni controllo, ma c'è una differenza enorme? (IE abbastanza di una differenza per giustificare il passaggio a NRPE).

Se è di aiuto, monitoriamo un mix di server fisici (normalmente con 8, 12 o 16 core fisici) e istanze medio / grandi di Amazon EC2.

Risposte:


6

Ho sempre creduto che il vantaggio amministrativo di SSH (io uso push_check ) superi qualsiasi carico aggiuntivo. Le CPU moderne sono così veloci che il costo della crittografia di una manciata di byte è piuttosto minimo, quindi si riduce all'esecuzione di due processi (SSH e lo script di controllo) rispetto a uno (script di controllo attivato da NRPE).

Per gli script di controllo scritti in un linguaggio interpretato, mi aspetto che il sovraccarico di avviare l'interprete (Perl, Python, Bash) superi il costo della CPU per l'avvio di una sessione SSH. Date le moderne CPU, è più probabile che le tue macchine siano limitate dal disco o dalla memoria piuttosto che dalla CPU.

A condizione che la tua macchina Nagios stia affrontando - deve impostare 20 connessioni SSH ogni secondo - sbaglierei per comodità.

Non proprio una risposta alla tua domanda, più di una discussione sul fatto che la vita è troppo breve per preoccuparsene :)


6

NRPE è un plug-in nagios, è facile da installare e gestirà il check ask nel file di configurazione del probe. C'è solo una cosa negativa su nrpe, è necessario installarlo su ogni server che si desidera monitorare, su Linux OS è davvero semplice, basta yum / apt-get install nrpe, ma su Windows Server è necessario installarlo tramite .exe e a volte dovrai riavviare il server.

Penso che SSH non sia il modo più ottimizzato per usare i nagios. NRPE potrebbe essere molto più efficiente.

Qui sulla documentazione di nagios c'è questa frase:

"L'uso di SSH è più sicuro dell'addon NRPE, ma impone anche un sovraccarico (CPU) maggiore sia sul monitoraggio che sui computer remoti. Questo può diventare un problema quando si inizia a monitorare centinaia o migliaia di computer. Molti amministratori Nagios scelgono di utilizzare utilizzando l'addon NRPE a causa del carico inferiore che impone. "

c'è la documentazione. È un .pdf

Per quanto mi riguarda, utilizzo il protocollo snmp, che è semplice da usare e non necessita di alcuna terza parte installata sui server.


Ho esaminato SNMP ma monitoriamo cose come le statistiche di database / app che non credo possano essere configurate per usare SNMP. Non sono troppo preoccupato per la sicurezza del monitoraggio, SSH è stato scelto esclusivamente per evitare una configurazione aggiuntiva. Come quando vogliamo aggiungere / cambiare un comando con SSH cambiamo semplicemente la configurazione NAGIOS ma con NRPE dovremmo aggiungerlo anche a nrpe.conf sul server remoto.
Macchia

è vero, nrpe è un po 'fastidioso perché è necessario aggiungere .conf al server remoto. Per quanto riguarda SNMP, puoi fare quello che vuoi (se non sbaglio), puoi creare il tuo prob con perl e tramite snmp usare il tuo probe, è più facile di nrpe perché non è necessario modificare .conf sul server remoto e meno avido di SSH. Bene, dopo è solo un punto di vista e ciò per cui userete i nagios. Nrpe è un buon compromesso tra ssh e snmp, almeno per me. Buona giornata.
Anarko_Bizounours,

3

Oltre ai suggerimenti forniti in altre risposte, hai mai pensato di abilitare il ControlMasterfile .ssh / config di nagios per sfruttare appieno il multiplexing ssh ?

In altre parole, la tua connessione SSH 'rimarrà attiva', quindi il sovraccarico di stabilirla è minimo in quanto ciò avverrebbe solo una volta. Ciò garantirebbe comunque la privacy con la crittografia e ti proteggerebbe dal lasciare porte TCP aperte sui server (anche se con firewall). Inoltre, puoi limitare ciò che un utente fa tramite ssh limitando i comandi che può eseguire


0

Non ho avuto altro che problemi nel tentativo di compilare NRPE su vari sistemi operativi. SSH ha funzionato in modo fluido ed efficiente ed è molto più facile da scrivere.


4
Questo sembra più un problema con i sistemi con cui stai lavorando rispetto a NRPE - non sono un fan di Nagios, ma NRPE è un codice piuttosto semplice e non ho mai avuto problemi a compilarlo ...
voretaq7
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.