Nagios - Monitorare un sistema windows.

Il monitor di un server windows può avere più soluzioni. Tipicamente occorre un agent che interfaccia il sistema operativo e risponde alle richieste del server nagios in modo opportuno. Queste richieste, come il carico della CPU, vengono visualizzate dalla console di Nagios nelle modalità definite dalla configurazione.

L'agent può essere semplicemente WMI (Windows Management Instrumentation) che può essere 'interrogato' anche da remoto. In questo caso, però, occorre un processo linux, sulla macchina Nagios, e dei processi in grado di formattare opportunamente le query WMI in un formato utile a Nagios.

In questa parte si descrive l'uso di un agent, NSClient ++ (NSCP), da installare sulla macchina windows (http://www.nsclient.org/nscp/downloads) e si basa su una installazione minima di nagios descritta qui: http://www.rfc.it/applicativi/monitoring/installare-nagios
NSCP riceve le richieste dal server Nagios (in varie modalità), rigira le richieste al sistema operativo (windows) e ritorna la risposta, opportunamente formattata, al server Nagios. Sembra tutto abbastanza semplice.
NCSP è fortemente personalizzabile. E possibile ad esempio implementare nuove funzioni di monitor, per andare a controllare ogni aspetto di windows, eventualmente anche processi e relativi parametri di applicazioni sviluppate da terze parti.
In questa descrizione ci si limita alle funzioni di base.
Il meccanismo di richiesta da nagios a windows utilizzato è  NRPE (Nagios Remote Plugin Executor) plugin.
Lo scambio di informazioni nagios <-> windows sono ben schematizzati nella figura che segue:

 

  • Installazione lato windows.

Download e installazione dell'agent NSClient++
La configurazione di NSCP è controllata da nsclient.ini, nella directory %ProgramFiles%/NSClient++. La configurazione richiede la modifica del parametro allowed host = x.x.x.x nella sezione [/settings/default].
NRPE non richiede password.

NSCP può girare come servizio windows o come semplice programma. Il servizio è preferibile in produzione, mentre come programma è utile per il debug.
Lanciare NSCP.exe test dal prompt comandi. I messaggi che seguono sono utili per il debug.


Salvo problemi, no serve altro.

  • Configurazione lato Nagios.

Installare il plugin nrpe zypper in nagios-plugins-nrpe

testare la comunicazione nagios - windows
/usr/lib/nagios/plugins/check_nrpe -H 10.0.0.5
Se l'agent è raggiungibile e risponde (attenzione al firewall, NRPE lavora. di default, sulla porta 5666) nel seguente modo:
I (0,4,1,66 2012-11-18) seem to be doing fine...

definire il server windows  e i relativi servizi.
Per semplicità si può usare il file /etc/nagios/object/winsows.cfg

Abilitare la riga cfg_file=/etc/nagios/objects/windows.cfg nel file /etc/nagios/nagios.cfg

occorre modificare l'indirizzo del server windows con il valore corretto, e le voci check_command.
Qui un esempio del file windows.cfg
La voce check_command indica il il comando da usare e i parametri da passare al comando, separati dal !.
Occorre definire l'uso effettivo del comando. Questo si fa modificando il file /etc/nagios/objects/comamnfs.cfg
La definizione da aggiungere è la seguente:

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


Per il controllo di eventuali errori formali si usa il comando nagios -v /etc/nagios/nagios.cfg

Fare ripartire nagios rcnagios restart

 

Controllare il risultato nella console di Nagios.

Lo stato dei servizi potrebbe essere indeterminato. Basta forzare il check del servizio per ottenere lo stato.