Kako dodati strežnika Windows na strežnik za spremljanje Nagios


V tem članku je opisano, kako nadzirati »zasebne« storitve računalnikov z operacijskim sistemom Windows, kot so obremenitev procesorja, uporaba diska, uporaba pomnilnika, storitve itd. V ta namen smo na računalnik z operacijskim sistemom Windows morali namestiti dodatek NSClient ++. Dodatek deluje kot posrednik med računalnikom Windows in Nagiosom ter nadzira dejanske storitve s komunikacijo z vtičnikom check_nt. Vtičnik check_nt je že nameščen na strežniku za spremljanje Nagios, če ste upoštevali naš vodnik za namestitev Nagios.

Predvidevamo, da ste strežnik Nagios že namestili in konfigurirali v skladu z našimi naslednjimi vodniki.

  1. Kako namestiti Nagios 4.0.1 na RHEL/CentOS 6.x/5.x in Fedora 19/18/17
  2. V strežnik Nagios Monitoring Server dodajte gostitelja Linux

Za spremljanje strojev Windows boste morali slediti več korakom, in sicer:

  1. Namestite dodatek NSClient ++ v sistem Windows.
  2. Konfigurirajte strežnik Nagios za spremljanje sistema Windows.
  3. Dodajte nove definicije gostiteljev in storitev za spremljanje strojev Windows.
  4. Znova zaženite storitev Nagios.

Da bo ta vodnik preprost in lažji, je nekaj nastavitev, ki ste jih že izvedli v namestitvi Nagios.

  1. Definicija ukaza check_nt, ki je že dodana v datoteko command.cfg. Ta ukaz za opredelitev uporablja vtičnik check_nt za spremljanje storitev Windows.
  2. Predloga gostitelja Windows-strežnika, ki je že bila ustvarjena v datoteki templates.cfg. Ta predloga vam omogoča dodajanje novih definicij gostiteljev sistema Windows.

Zgornji dve datoteki "command.cfg" in "templates.cfg" najdete na/usr/local/nagios/etc/objects/directory. Lahko spremenite in dodate svoje definicije, ki ustrezajo vašim zahtevam. Priporočam pa vam, da sledite navodilom, opisanim v tem članku, in v manj kot 20 minutah boste uspešno spremljali gostitelje Windows.

1. korak: Namestitev agenta NSClient ++ na računalnik Windows

Za namestitev agenta NSClient ++ na oddaljenem gostitelju Windows uporabite spodnja navodila. Najprej prenesite najnovejšo stabilno različico datotek z dodatki NSClient ++ 0.3.1, ki jih najdete na spodnji povezavi.

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

Ko prenesete najnovejšo stabilno različico, razpakirajte datoteke NSClient ++ v nov imenik C:\NSClient ++.

Zdaj odprite ukazni poziv MS-DOS na začetnem zaslonu -> Zaženi -> vnesite "cmd" in pritisnite enter ter preklopite v imenik C:\NSClient ++.

C:\NSClient++

Nato v sistemu registrirajte storitev NSClient ++ z naslednjim ukazom.

nsclient++ /install

Na koncu namestite še sistemsko vrstico NSClient ++ z naslednjim ukazom.

nsclient++ SysTray

Odprite upravitelja storitev Windows in z desno miškino tipko kliknite NSClient, pojdite na Lastnosti in nato na zavihek »Prijava« in potrdite polje »Dovoli storitvi interakcijo z namizjem«. Če še ni dovoljeno, potrdite polje, da to omogočite.

Odprite datoteko NSC.INI, ki se nahaja v imeniku C:\NSClient ++, in razkomentirajte vse module, opredeljene v razdelku »moduli«, razen CheckWMI.dll in 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

Odstranite komentar "allowed_hosts" v razdelku "Settings" in določite naslov IP vašega Nagios Monitoring Server ali pustite prazen, da omogočite povezavo s katerim koli gostiteljem.

[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

Prekličite "vrata" v razdelku "NSClient" in nastavite na privzeta vrata "12489". Odprite vrata »12489« na požarnem zidu Windows.

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

Na koncu zaženite storitev NSClient ++ z naslednjim ukazom.

nsclient++ /start

Če ste pravilno namestili in konfigurirali, bi morali v sistemskem pladnju v rumenem krogu videti novo ikono s črno črko 'M' znotraj.

2. korak: Konfiguriranje strežnika Nagios in dodajanje gostiteljev Windows

Zdaj se prijavite v strežnik Nagios in dodajte nekaj definicij predmetov v konfiguracijske datoteke Nagios za spremljanje nove naprave Windows. Odprite datoteko windows.cfg za urejanje z urejevalnikom Vi.

 vi /usr/local/nagios/etc/objects/windows.cfg

Vzorčna definicija gostitelja Windows, ki je že definirana za sistem Windows, lahko preprosto spremenite definicijo gostitelja, kot so ime_gostitelja, vzdevek in naslovna polja, v ustrezne vrednosti vašega računalnika 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
        }

Naslednje storitve so že dodane in omogočene v datoteki windows.cfg. Če želite dodati še nekatere druge definicije storitev, ki jih je treba spremljati, jih lahko preprosto dodate v isto konfiguracijsko datoteko. Prepričajte se, da ste spremenili ime_gostnika za vse storitve z imenom_gostitelja, definiranim v zgornjem koraku.

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
	}

Nazadnje, odkomentirajte datoteko windows.cfg v /usr/local/nagios/etc/nagios.cfg.

 vi /usr/local/nagios/etc/nagios.cfg
# Definitions for monitoring a Windows machine
cfg_file=/usr/local/nagios/etc/objects/windows.cfg

Na koncu preverite konfiguracijske datoteke Nagios za morebitne napake.

 /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

Če postopek preverjanja prikaže sporočila o napakah, jih popravite, dokler se postopek preverjanja ne konča brez sporočil o napakah. Ko odpravite napake, znova zaženite storitev Nagios.

 service nagios restart

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

To je to. Zdaj pojdite na spletni vmesnik Nagios Monitoring na naslovu\"http:// Your-server-IP-address/nagios" ali\"http:// FQDN/nagios" in vnesite uporabniško ime\"nagiosadmin" in geslo. Gostitelju Windows je bil dodan in se nadzira.

To je to! za zdaj vam bom v prihajajočem članku pokazal, kako dodati tiskalnik in stikala v strežnik za nadzor Nagios. Če imate težave pri dodajanju gostitelja Windows v Nagios. Prosimo, komentirajte svoje poizvedbe prek oddelka za komentarje, do takrat pa spremljajte linux-console.net za več takšnih dragocenih člankov.