Negli articoli precedenti abbiamo discusso della guida Jumpstart di Nagios 3.0 e di come monitorare l'host Linux remoto utilizzando Nagios 3.0. In questo articolo, spiegherò come monitorare la macchina Windows remota e i vari servizi in esecuzione sul server Windows utilizzando il server di monitoraggio nagios. Le seguenti tre sezioni sono trattate in questo articolo.
Io. Panoramica
II. 4 passaggi per installare nagios su host Windows remoto
- Installa NSClient++ sul server Windows remoto
- Modifica il servizio NSClient++
- Modifica NSC.ini
- Avvia il servizio NSClient++
III. 6 passaggi di configurazione sul server di monitoraggio nagios
- Verifica il comando check_nt e il modello del server Windows
- Rimuovi il commento da windows.cfg in /usr/local/nagios/etc/nagios.cfg
- Modifica /usr/local/nagios/etc/objects/windows.cfg
- Definisci i servizi Windows da monitorare.
- Abilita la protezione con password
- Verifica la configurazione e riavvia Nagios.
Io. Panoramica
.
I seguenti tre passaggi si verificano a un livello molto elevato quando Nagios (installato sul server nagios) monitora un servizio (ad esempio l'utilizzo dello spazio su disco) sull'host Windows remoto.
- Nagios eseguirà il comando check_nt su nagios-server e gli richiederà di monitorare l'utilizzo del disco su un host Windows remoto.
- Il check_nt sul server nagios contatterà il servizio NSClient++ sull'host Windows remoto e gli chiederà di eseguire USEDDISKSPACE sull'host remoto.
- I risultati del comando USEDDISKSPACE verranno restituiti dal demone NSClient++ al check_nt su nagios-server.
Il flusso seguente riassume la spiegazione di cui sopra:
Nagios Server (check_nt) —–> Host remoto (NSClient++) —–> USEDDISKSPACE
Nagios Server (check_nt) <—– Host remoto (NSClient++) <—– USEDDISKSPACE (restituisce l'utilizzo dello spazio su disco)
II. 4 passaggi per configurare nagios su un host Windows remoto
.
1. Installa NSClient++ sul server Windows remoto
Scarica NSCP 0.3.1 (NSClient++-Win32-0.3.1.msi) dal progetto NSClient++. NSClient++ è un servizio Windows open source che consente di raccogliere le metriche delle prestazioni da Nagios per i servizi Windows. Segui i seguenti cinque passaggi di installazione di NSClient++ per completare l'installazione.
(1) Schermata di benvenuto di NSClient++
(2) Schermata del contratto di licenza
(3) Seleziona l'opzione di installazione e la posizione . Utilizza l'opzione predefinita e fai clic su Avanti.
(4) Schermo pronto per l'installazione . Fai clic su Installa per iniziare.
(5) Schermata di installazione completata .
2. Modifica il servizio NSClient++
Vai su Pannello di controllo -> Strumenti di amministrazione -> Servizi. Fare doppio clic sul servizio "NSClientpp (Nagios) 0.3.1.14 2008-03-12 w32" e selezionare la casella di controllo "Consenti al servizio di interagire con il desktop" come mostrato di seguito.

3. Modifica NSC.ini
(1) Modifica NSC.ini e decommenta *.dll: Modifica il file C:\Programmi\NSClient++\NSC.ini e decommenta tutto in [moduli] tranne RemoteConfiguration.dll e CheckWMI.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
(2) Modifica NSC.ini e decommenta allowed_hosts. Modifica il file C:\Programmi\NSClient++\NSC.ini e decommenta allowed_host nelle impostazioni e aggiungi l'indirizzo IP del nagios-server.
;# 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=192.168.1.2/255.255.255.0
Nota: allow_host si trova nella sezione [Impostazioni], [NSClient] e [NRPE]. Assicurati di modificare allow_host in [Impostazioni] per questo scopo.
(3) Modifica NSC.ini e decommenta la porta. Modifica il file C:\Programmi\NSClient++\NSC.ini e decommenta il port# nella sezione [NSClient]
;# NSCLIENT PORT NUMBER ; This is the port the NSClientListener.dll will listen to. port=12489
(4) Modifica NSC.ini e specifica la password. Puoi anche specificare una password che il server nagios deve utilizzare per accedere in remoto all'agente NSClient++.
[Settings] ;# OBFUSCATED PASSWORD ; This is the same as the password option but here you can store the password in an obfuscated manner. ; *NOTICE* obfuscation is *NOT* the same as encryption, someone with access to this file can still figure out the ; password. Its just a bit harder to do it at first glance. ;obfuscated_password=Jw0KAUUdXlAAUwASDAAB ; ;# PASSWORD ; This is the password (-s) that is required to access NSClient remotely. If you leave this blank everyone will be able to access the daemon remotly. password=My2Secure$Password
4. Avvia il servizio NSClient++
Avviare il servizio NSClient++ sia dal Pannello di controllo -> Strumenti di amministrazione -> Servizi -> Selezionare "NSClientpp (Nagios) 0.3.1.14 2008-03-12 w32" e fare clic su Start (oppure) Fare clic su "Start -> Tutti i programmi -> NSClient++ -> Avvia NSClient++ (Win32) . Tieni presente che questo avvierà NSClient++ come servizio di Windows.
In seguito, se modifichi qualcosa nel file NSC.ini, dovresti riavviare "NSClientpp (Nagios) 0.3.1.14 2008-03-12 w32" dal servizio Windows.
III. 6 passaggi di configurazione sul server di monitoraggio nagios
.
1. Verifica il comando check_nt e il modello del server Windows
Verifica che check_nt sia abilitato in /usr/local/nagios/etc/objects/commands.cfg
# 'check_nt' command definition define command{ command_name check_nt command_line $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -v $ARG1$ $ARG2$ }
Verifica che il modello del server Windows sia abilitato in /usr/local/nagios/etc/objects/templates.cfg
# Windows host definition template - This is NOT a real host, just a template! define host{ name windows-server ; The name of this host template use generic-host ; Inherit default values from the generic-host template check_period 24x7 ; By default, Windows servers are monitored round the clock check_interval 5 ; Actively check the server every 5 minutes retry_interval 1 ; Schedule host check retries at 1 minute intervals max_check_attempts 10 ; Check each server 10 times (max) check_command check-host-alive ; Default command to check if servers are "alive" notification_period 24x7 ; Send notification out at any time - day or night notification_interval 30 ; Resend notifications every 30 minutes notification_options d,r ; Only send notifications for specific host states contact_groups admins ; Notifications get sent to the admins by default hostgroups windows-servers ; Host groups that Windows servers should be a member of register 0 ; DONT REGISTER THIS - ITS JUST A TEMPLATE }
2. Decommenta windows.cfg in /usr/local/nagios/etc/nagios.cfg
# Definitions for monitoring a Windows machine cfg_file=/usr/local/nagios/etc/objects/windows.cfg
3. Modifica /usr/local/nagios/etc/objects/windows.cfg
Per impostazione predefinita, in windows.cfg viene fornita una definizione di host di esempio per un server Windows, modificarla per riflettere il server Windows appropriato che deve essere monitorato tramite nagios.
# 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 remote-windows-host ; The name we're giving to this host alias Remote Windows Host ; A longer name associated with the host address 192.168.1.4 ; IP address of the remote windows host }
4. Definisci i servizi Windows che devono essere monitorati.
Di seguito sono riportati i servizi Windows predefiniti che sono già abilitati nell'esempio windows.cfg. Assicurati di aggiornare il nome_host su questi servizi per riflettere il nome_host definito nel passaggio precedente.
define service{ use generic-service host_name remote-windows-host service_description NSClient++ Version check_command check_nt!CLIENTVERSION } define service{ use generic-service host_name remote-windows-host service_description Uptime check_command check_nt!UPTIME } define service{ use generic-service host_name remote-windows-host service_description CPU Load check_command check_nt!CPULOAD!-l 5,80,90 } define service{ use generic-service host_name remote-windows-host service_description Memory Usage check_command check_nt!MEMUSE!-w 80 -c 90 } define service{ use generic-service host_name remote-windows-host service_description C:\ Drive Space check_command check_nt!USEDDISKSPACE!-l c -w 80 -c 90 } define service{ use generic-service host_name remote-windows-host service_description W3SVC check_command check_nt!SERVICESTATE!-d SHOWALL -l W3SVC } define service{ use generic-service host_name remote-windows-host service_description Explorer check_command check_nt!PROCSTATE!-d SHOWALL -l Explorer.exe }
5. Abilita la protezione con password
Se hai specificato una password nel file NSC.ini del file di configurazione NSClient++ sul computer Windows, dovrai modificare la definizione del comando check_nt per includere la password. Modifica il file /usr/local/nagios/etc/commands.cfg e aggiungi la password come mostrato di seguito.
define command{ command_name check_nt command_line $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -s My2Secure$Password -v $ARG1$ $ARG2$ }
6. Verifica la configurazione e riavvia Nagios.
Verifica i file di configurazione di nagios come mostrato di seguito.
[nagios-server]# /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
Riavvia nagios come mostrato di seguito.
[nagios-server]# /etc/rc.d/init.d/nagios stop Stopping nagios: .done. [nagios-server]# /etc/rc.d/init.d/nagios start Starting nagios: done.
Verifica lo stato dei vari servizi in esecuzione sull'host Windows remoto dall'interfaccia utente web di Nagios (http://nagios-server/nagios) come mostrato di seguito.

Miglior libro di Nagios
Nagios Core 3 eBook – Uso Nagios da diversi anni e posso dormire sonni tranquilli sapendo che Nagios sta monitorando tutti i miei sistemi e mi avviserà di qualsiasi potenziale problema, prima che diventi critico. Consiglio vivamente di leggere l'ebook Nagios Core 3 per ottenere una comprensione dettagliata di Nagios. Poiché Nagios è un software gratuito, spendere pochi dollari per il libro può essere il miglior investimento che puoi fare.
Fantastici articoli Nagios
Di seguito sono riportati alcuni fantastici articoli di Nagios che potresti trovare utile.
- Come monitorare l'host Linux remoto utilizzando Nagios 3
- Come monitorare lo switch di rete e le porte utilizzando Nagios
- Guida Jumpstart di Nagios 3 per Linux:panoramica, installazione e configurazione