Ricerca nel sito web

Come aggiungere host Windows a Nagios Monitoring Server


Questo articolo descrive come monitorare i servizi “privati” dei computer Windows come carico CPU, utilizzo del disco, Utilizzo della memoria, Servizi, ecc. Per questo, abbiamo richiesto l'installazione di un componente aggiuntivo NSClient++ sul computer Windows. L'add-on funge da proxy tra la macchina Windows e Nagios e monitora i servizi effettivi comunicando con il plugin check_nt. Il plugin check_nt già installato sul Nagios Monitoring Server, se hai seguito la nostra guida all'installazione di Nagios.

Presumiamo che tu abbia già installato e configurato il server Nagios secondo le nostre seguenti guide.

  1. Come installare Nagios 4.0.1 su RHEL/CentOS 6.x/5.x e Fedora 19/18/17
  2. Aggiungi host Linux a Nagios Monitoring Server

Per monitorare le macchine Windows dovrai seguire diversi passaggi e sono:

  1. Installa il componente aggiuntivo NSClient++ sulla macchina Windows.
  2. Configura Nagios Server per il monitoraggio della macchina Windows.
  3. Aggiungi nuove definizioni di host e servizi per il monitoraggio delle macchine Windows.
  4. Riavviare il servizio Nagios.

Per rendere questa guida semplice e facile, alcune configurazioni già fatte per te nell'installazione di Nagios.

  1. Una definizione del comando check_nt già aggiunta al file command.cfg. Questo comando di definizione viene utilizzato dal plugin check_nt per monitorare i servizi Windows.
  2. Un modello host Windows Server già creato nel file templates.cfg. Questo modello consente di aggiungere nuove definizioni di host Windows.

I due file precedenti “command.cfg” e “templates.cfg” possono essere trovati in /usr/local/nagios/etc/objects/. Puoi modificare e aggiungere le tue definizioni adatte alle tue esigenze. Tuttavia, ti consiglio di seguire le istruzioni descritte in questo articolo e monitorerai correttamente il tuo host Windows in meno di 20 minuti.

Passaggio 1: installazione dell'agente NSClient++ su una macchina Windows

Utilizzare le istruzioni seguenti per installare NSClient++ Agent sull'host Windows remoto. Per prima cosa scarica i file sorgente del componente aggiuntivo NSClient++ 0.3.1 della versione stabile più recente, che puoi trovare al link sottostante.

  1. http://sourceforge.net/projects/nscplus/

Dopo aver scaricato l'ultima versione stabile, decomprimi i file NSClient++ in una nuova directory C:\NSClient++.

Ora apri un prompt dei comandi MS-DOS dalla schermata Start –> Esegui –> digita 'cmd' e premi Invio e passa alla directory C:\NSClient++.

C:\NSClient++

Successivamente, registra il servizio NSClient++ sul sistema con il seguente comando.

nsclient++ /install

Infine, installa il NSClient++ systray con il seguente comando.

nsclient++ SysTray

Apri Gestione servizi Windows e fai clic con il pulsante destro del mouse su NSClient, vai su Proprietà, quindi sulla scheda "Accedi" e fai clic su la casella di controllo "Consenti al servizio di interagire con il desktop". Se non è già consentito, seleziona la casella per consentirlo.

Apri il file NSC.INI situato nella directory C:\NSClient++ e rimuovi il commento da tutti i moduli definiti nella sezione "moduli", ad eccezione di CheckWMI.dll e RemoteConfiguration.dll.

[modules]
;# NSCLIENT++ MODULES
;# A list with DLLs to load at startup.
;  You will need to enable some of these for NSClient++ to work.
; ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
; *                                                               *
; * N O T I C E ! ! ! - Y O U   H A V E   T O   E D I T   T H I S *
; *                                                               *
; ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
FileLogger.dll
CheckSystem.dll
CheckDisk.dll
NSClientListener.dll
NRPEListener.dll
SysTray.dll
CheckEventLog.dll
CheckHelpers.dll
;CheckWMI.dll
;
; RemoteConfiguration IS AN EXTREM EARLY IDEA SO DONT USE FOR PRODUCTION ENVIROMNEMTS!
;RemoteConfiguration.dll
; NSCA Agent is a new beta module use with care!
;NSCAAgent.dll
; LUA script module used to write your own "check deamon" (sort of) early beta.
;LUAScript.dll
; Script to check external scripts and/or internal aliases, early beta.
;CheckExternalScripts.dll
; Check other hosts through NRPE extreme beta and probably a bit dangerous! :)
;NRPEClient.dll

Togli il commento da "allowed_hosts" nella sezione "Impostazioni" e definisci l'indirizzo IP del tuo Nagios Monitoring Server o lasciarlo vuoto per consentire a qualsiasi host di connettersi.

[Settings]
;# ALLOWED HOST ADDRESSES
;  This is a comma-delimited list of IP address of hosts that are allowed to talk to the all daemons.
;  If leave this blank anyone can access the deamon remotly (NSClient still requires a valid password).
;  The syntax is host or ip/mask so 192.168.0.0/24 will allow anyone on that subnet access
allowed_hosts=172.16.27.41

Decommenta la "porta" nella sezione "NSClient" e imposta la porta predefinita "12489". Assicurati di aprire la porta "12489" su Windows Firewall.

[NSClient]
;# NSCLIENT PORT NUMBER
;  This is the port the NSClientListener.dll will listen to.
port=12489

Infine avvia il servizio NSClient++ con il seguente comando.

nsclient++ /start

Se installato e configurato correttamente, dovresti vedere una nuova icona nella barra delle applicazioni in un cerchio giallo con una "M" nera all'interno.

Passaggio 2: configurazione del server Nagios e aggiunta di host Windows

Ora accedi a Nagios Server e aggiungi alcune definizioni di oggetti nei file di configurazione di Nagios per monitorare la nuova macchina Windows. Apri il file windows.cfg per modificarlo con l'editor Vi.

[root@tecmint]# vi /usr/local/nagios/etc/objects/windows.cfg

Una definizione host Windows di esempio già definita per la macchina Windows, puoi semplicemente modificare la definizione host come i campi nome_host, alias e indirizzo in modo appropriato valori della tua macchina Windows.

###############################################################################
###############################################################################
#
HOST DEFINITIONS
#
###############################################################################
###############################################################################

Define a host for the Windows machine we'll be monitoring
Change the host_name, alias, and address to fit your situation

define host{
        use             windows-server  ; Inherit default values from a template
        host_name       winserver       ; The name we're giving to this host
        alias           My Windows Server       ; A longer name associated with the host
        address         172.31.41.53    ; IP address of the host
        }

I seguenti servizi sono già aggiunti e abilitati nel file windows.cfg. Se desideri aggiungere altre definizioni di servizio che devono essere monitorate, puoi semplicemente aggiungere tali definizioni allo stesso file di configurazione. Assicurati di modificare il nome_host per tutti questi servizi con il nome_host definito nel passaggio precedente.

define service{
	use			generic-service
	host_name		winserver
	service_description	NSClient++ Version
	check_command		check_nt!CLIENTVERSION
	}

Add the following service definition to monitor the uptime of the Windows server.

define service{
	use			generic-service
	host_name		winserver
	service_description	Uptime
	check_command		check_nt!UPTIME
	}

Add the following service definition to monitor the CPU utilization on the Windows server and generate a CRITICAL alert if the 5-minute CPU load is 90% or more or a WARNING alert if the 5-minute load is 80% or greater.

define service{
	use			generic-service
	host_name		winserver
	service_description	CPU Load
	check_command		check_nt!CPULOAD!-l 5,80,90
	}

Add the following service definition to monitor memory usage on the Windows server and generate a CRITICAL alert if memory usage is 90% or more or a WARNING alert if memory usage is 80% or greater.

define service{
	use			generic-service
	host_name		winserver
	service_description	Memory Usage
	check_command		check_nt!MEMUSE!-w 80 -c 90
	}

Add the following service definition to monitor usage of the C:\ drive on the Windows server and generate a CRITICAL alert if disk usage is 90% or more or a WARNING alert if disk usage is 80% or greater.

define service{
	use			generic-service
	host_name		winserver
	service_description	C:\ Drive Space
	check_command		check_nt!USEDDISKSPACE!-l c -w 80 -c 90
	}

Add the following service definition to monitor the W3SVC service state on the Windows machine and generate a CRITICAL alert if the service is stopped.

define service{
	use			generic-service
	host_name		winserver
	service_description	W3SVC
	check_command		check_nt!SERVICESTATE!-d SHOWALL -l W3SVC
	}

Add the following service definition to monitor the Explorer.exe process on the Windows machine and generate a CRITICAL alert if the process is not running.

define service{
	use			generic-service
	host_name		winserver
	service_description	Explorer
	check_command		check_nt!PROCSTATE!-d SHOWALL -l Explorer.exe
	}

Infine, decommenta il file windows.cfg in /usr/local/nagios/etc/nagios.cfg.

[root@tecmint]# vi /usr/local/nagios/etc/nagios.cfg
Definitions for monitoring a Windows machine
cfg_file=/usr/local/nagios/etc/objects/windows.cfg

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

[root@tecmint]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Total Warnings: 0
Total Errors:   0

Things look okay - No serious problems were detected during the pre-flight check

Se il processo di verifica genera messaggi di errore, correggi tali errori fino al completamento del processo di verifica senza messaggi di errore. Una volta corretti questi errori, riavvia il servizio Nagios.

[root@tecmint]# service nagios restart

Running configuration check...done.
Stopping nagios: done.
Starting nagios: done.

Questo è tutto. Ora vai all'interfaccia Web di Nagios Monitoring all'indirizzo "http://Your-server-IP-address/nagios" o "http://FQDN/nagios" e fornisci il nome utente "nagiosadmin" e password. Verifica che l'host Windows remoto sia stato aggiunto e sia monitorato.

Questo è tutto! per ora, nel mio prossimo articolo ti mostrerò come aggiungere stampante e switch a Nagios Monitoring Server. Se riscontri difficoltà durante l'aggiunta dell'host Windows a Nagios. Ti preghiamo di commentare le tue domande tramite la sezione commenti, fino ad allora resta sintonizzato su linux-console.net per altri articoli preziosi di questo tipo.