Windows Host-y Nagios Monitoring Serwerine nädip goşmaly


Bu makala, CPU ýükleri, Disk ulanylyşy, oryadyň ulanylyşy, Hyzmatlar we ş.m. ýaly Windows maşynlarynyň “hususy” hyzmatlaryna nädip gözegçilik etmelidigini düşündirýär, munuň üçin Windows enjamyna NSClient ++ addon gurmaly bolduk. Addon, Windows enjamy we Nagios arasynda proksi ýerine ýetirýär we check_nt plugin bilen aragatnaşyk arkaly hakyky hyzmatlara gözegçilik edýär. Nagios gurnama gollanmamyza eýeren bolsaňyz, Nagios Monitoring Serwerinde eýýäm gurlan check_nt plugin.

Aşakdaky gollanmalara laýyklykda Nagios serwerini eýýäm gurnadyňyz we düzdüňiz öýdýäris.

  1. RHEL/CentOS 6.x/5.x we Fedora 19/18/17 Nagios 4.0.1-ni nädip gurmaly
  2. Nagios Monitoring Serwerine Linux Host goşuň

Windows maşynlaryna gözegçilik etmek üçin birnäçe ädim ätmeli bolarsyňyz we olar:

  1. Windows Machine NSClient ++ addony guruň.
  2. Windows Machine gözegçilik etmek üçin Nagios Serwerini sazlaň.
  3. Windows maşyn gözegçiligi üçin täze host we hyzmat kesgitlemelerini goşuň.
  4. Nagios hyzmatyny täzeden açyň.

Bu gollanmany ýönekeý we aňsatlaşdyrmak üçin, Nagios gurnamasynda eýýäm ýerine ýetirilen birnäçe konfigurasiýa.

  1. Check.nt buýruk kesgitlemesi eýýäm command.cfg faýlyna goşuldy. Bu kesgitleme buýrugy, Windows hyzmatlaryna gözegçilik etmek üçin check_nt plugin tarapyndan ulanylýar.
  2. Templates.cfg faýlynda eýýäm döredilen windows-serwer host şablony. Bu galyp, täze Windows host kesgitlemelerini goşmaga mümkinçilik berýär.

Commandokardaky iki faýl “command.cfg” we “templates.cfg” faýllaryny/usr/local/nagios/etc/object/directory-da tapyp bilersiňiz. Talabyňyza laýyk gelýän öz kesgitlemeleriňizi üýtgedip we goşup bilersiňiz. Emma, bu makalada görkezilen görkezmeleri ýerine ýetirmegiňizi maslahat berýärin we 20 minutdan az wagtyň içinde windows hostyňyzy üstünlikli gözegçilikde saklarsyňyz.

1-nji ädim: Windows Machine-da NSClient ++ Agent gurmak

Uzakdaky Windows Host-da NSClient ++ Agent gurmak üçin aşakdaky görkezmeleri ulanyň. Ilki bilen aşakdaky baglanyşykdan tapyp boljak NSClient ++ 0.3.1 addon çeşme faýllarynyň iň soňky durnukly wersiýasyny göçürip alyň.

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

Iň soňky durnukly wersiýany göçürip alanyňyzdan soň, NSClient ++ faýllaryny täze C:\NSClient ++ katalogyna açyň.

Indi Başlangyç ekranyndan MS-DOS buýruk görkezmesini açyň -> Işlet -> cmd ýazyň we Enter basyň we C:\NSClient ++ katalogyna üýtgediň.

C:\NSClient++

Ondan soň, aşakdaky buýruk bilen ulgamda NSClient ++ hyzmatyny hasaba alyň.

nsclient++ /install

Ahyrynda, aşakdaky buýruk bilen NSClient ++ ulgamyny guruň.

nsclient++ SysTray

Windows Hyzmatlary Dolandyryjysyny açyň we NSClient-e sag basyň, Sypatlara gidiň we Giriş goýmasyna basyň we Hyzmatyň iş stoly bilen täsirleşmegine rugsat beriň diýlen bellik gutusyna basyň. Eger eýýäm rugsat berilmedik bolsa, gutujyga rugsat bermegiňizi haýyş edýäris.

C:\NSClient ++ katalogynda ýerleşýän NSC.INI faýly açyň we CheckWMI.dll we RemoteConfiguration.dll-den başga modullar bölüminde kesgitlenen ähli modullary açyň.

[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

“Sazlamalar” bölümindäki “rugsat edilen_hostlary” goýmaň we Nagios Monitoring Serweriňiziň IP adresini kesgitläň ýa-da islendik öý eýesiniň birikmegine rugsat beriň.

[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

“NSClient” bölümindäki “porty” açyň we deslapky port “12489” -a düzüň. Windows Firewall-da “12489” portuny açyň.

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

Ahyrynda aşakdaky buýruk bilen NSClient ++ hyzmatyny başlaň.

nsclient++ /start

Dogry gurnalan we düzülen bolsa, ulgam tarelkasynda sary tegelekde içindäki gara “M” bilen täze nyşan görmeli.

2-nji ädim: Nagios serwerini sazlamak we Windows Hostlaryny goşmak

Indi Nagios Serwerine giriň we täze Windows enjamyna gözegçilik etmek üçin Nagios konfigurasiýa faýllaryna käbir obýekt kesgitlemelerini goşuň. Vi redaktory bilen redaktirlemek üçin windows.cfg faýly açyň.

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

Windows enjamy üçin eýýäm kesgitlenen Windows host kesgitlemesi, host_name, lakam we salgy meýdanlary ýaly host kesgitlemesini Windows enjamyňyzyň degişli bahalaryna üýtgedip bilersiňiz.

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

Windows.cfg faýlynda eýýäm aşakdaky hyzmatlar goşuldy we işledildi. Gözegçilik edilmeli başga hyzmat kesgitlemelerini goşmak isleseňiz, şol kesgitlemeleri şol bir konfigurasiýa faýlyna goşup bilersiňiz. Aboveokardaky ädimde kesgitlenen host_name bilen bu ähli hyzmatlar üçin host_name üýtgediň.

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
	}

Iň soňunda /usr/local/nagios/etc/nagios.cfg sahypasyndaky windows.cfg faýlyny açyň.

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

Ahyrynda, islendik ýalňyşlyk üçin Nagios konfigurasiýa faýllaryny barlaň.

 /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

Barlamak prosesi haýsydyr bir säwlik habaryny atýan bolsa, barlamak prosesi hiç hili ýalňyş habary bolmazdan gutarýança düzediň. Şol ýalňyşlyklary düzedeniňizden soň, Nagios hyzmatyny täzeden açyň.

 service nagios restart

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

Bu. Indi Nagios Monitoring web interfeýsine\http:// Serwer-IP-adres/nagios ýa-da\http:// FQDN/nagios -a giriň we ulanyjy adyny\nagiosadmin we paroly beriň. Uzakdan barlaň Windows Host goşuldy we gözegçilik astynda saklanýar.

Bu! häzirlikçe, indiki makalamda Nagios Monitoring Serwerine Printer we kommutatorlary nädip goşmalydygyny görkezerin. Windows hostyny Nagios-a goşanyňyzda haýsydyr bir kynçylyk çekýän bolsaňyz. Soraglaryňyzy teswir bölümi arkaly düşündiriň, şoňa çenli has gymmatly makalalar üçin linux-console.net sahypasyna girip görüň.