GNU/Linux >> Linux Esercitazione >  >> Linux

Come monitorare la macchina Windows remota usando Nagios su Linux


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

  1. Installa NSClient++ sul server Windows remoto
  2. Modifica il servizio NSClient++
  3. Modifica NSC.ini
  4. Avvia il servizio NSClient++

III. 6 passaggi di configurazione sul server di monitoraggio nagios

  1. Verifica il comando check_nt e il modello del server Windows
  2. Rimuovi il commento da windows.cfg in /usr/local/nagios/etc/nagios.cfg
  3. Modifica /usr/local/nagios/etc/objects/windows.cfg
  4. Definisci i servizi Windows da monitorare.
  5. Abilita la protezione con password
  6. 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.

  1. Nagios eseguirà il comando check_nt su nagios-server e gli richiederà di monitorare l'utilizzo del disco su un host Windows remoto.
  2. Il check_nt sul server nagios contatterà il servizio NSClient++ sull'host Windows remoto e gli chiederà di eseguire USEDDISKSPACE sull'host remoto.
  3. 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

Linux
  1. Come monitorare l'attività Ethernet in Linux utilizzando Arpwatch

  2. Come eseguire il desktop remoto da Windows a desktop Linux utilizzando XRDP

  3. Come connettersi a una macchina Windows remota da Lubuntu Linux usando Remmina

  4. Utilizzando Windows DLL da Linux

  5. come eseguire il tunneling di Windows Remote Desktop tramite ssh utilizzando una macchina Linux?

Come monitorare le modifiche ai file utilizzando fswatch in Linux

Come monitorare l'uptime del sistema Linux utilizzando Uptimed

Come configurare l'inoltro X11 utilizzando SSH in Linux

Come eseguire app Linux su Windows 10 e 11 utilizzando WSL

Come eseguire un backup Linux remoto utilizzando SSH

Come monitorare la macchina Linux tramite Nagios