Kako dodati Windows host na Nagios Monitoring Server


Ovaj članak opisuje kako pratiti "privatne" usluge Windows mašina kao što su opterećenje procesora, korištenje diska, Potrošnja memorije, Usluge, itd. Za ovo smo zahtijevali da instaliramo NSClient++ dodatak na Windows mašinu. Dodatak djeluje kao proxy između Windows mašine i Nagiosa i nadgleda stvarne usluge komunicirajući sa dodatkom check_nt. Dodatak check_nt je već instaliran na Nagios Monitoring Server, ako ste slijedili naš Nagios vodič za instalaciju.

Pretpostavljamo da ste već instalirali i konfigurirali Nagios server prema našim sljedećim vodičima.

  1. Kako instalirati Nagios 4.0.1 na RHEL/CentOS 6.x/5.x i Fedora 19/18/17
  2. Dodajte Linux host na Nagios Monitoring Server

Za nadgledanje Windows mašina morat ćete slijediti nekoliko koraka, a to su:

  1. Instalirajte dodatak NSClient++ na Windows mašinu.
  2. Konfigurišite Nagios server za nadgledanje Windows mašine.
  3. Dodajte nove definicije hosta i usluge za nadgledanje Windows mašina.
  4. Ponovo pokrenite Nagios uslugu.

Da ovaj vodič bude jednostavan i lakši, nekoliko konfiguracija je već urađeno za vas u Nagios instalaciji.

  1. Definicija naredbe check_nt je već dodana u datoteku command.cfg. Ovu naredbu definicije koristi dodatak check_nt za nadgledanje Windows usluga.
  2. Windows-server host template već kreiran u datoteci templates.cfg. Ovaj predložak vam omogućava da dodate nove definicije Windows hosta.

Gornje dvije datoteke “command.cfg” i “templates.cfg” datoteke se mogu naći na /usr/local/nagios/etc/objects/ direktorijum. Možete modificirati i dodati vlastite definicije koje odgovaraju vašim zahtjevima. Ali, preporučio bih vam da slijedite upute opisane u ovom članku i uspješno ćete nadzirati svoj Windows host za manje od 20 minuta.

Korak 1: Instaliranje NSClient++ agenta na Windows mašinu

Molimo koristite uputstva u nastavku da instalirate NSClient++ Agent na Udaljeni Windows host. Prvo preuzmite najnoviju stabilnu verziju NSClient++ 0.3.1 addon izvornih datoteka, koje možete pronaći na linku ispod.

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

Nakon što preuzmete najnoviju stabilnu verziju, raspakirajte datoteke NSClient++ u novi direktorij C:\NSClient++.

Sada otvorite MS-DOS komandnu liniju sa Početnog ekrana –> Pokreni –> upišite 'cmd' i pritisnite enter i promijenite u direktorij C:\NSClient++.

C:\NSClient++

Zatim registrirajte uslugu NSClient++ na sistemu pomoću sljedeće naredbe.

nsclient++ /install

Konačno, instalirajte NSClient++ sistemsku traku sa sljedećom naredbom.

nsclient++ SysTray

Otvorite Windows Services Manager i kliknite desnim klikom na NSClient idite na Svojstva, a zatim karticu 'Prijava' i kliknite potvrdni okvir koji kaže „Dozvoli servisu da komunicira sa radnom površinom“. Ako to već nije dozvoljeno, označite polje da to dozvolite.

Otvorite NSC.INI datoteku koja se nalazi u C:\NSClient++ direktoriju i dekomentirajte sve module definirane u odjeljku “moduli”, osim CheckWMI.dll i 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

Dekomentirajte “allowed_hosts” u odjeljku “Postavke” i definirajte IP adresu vašeg Nagios Monitoring Servera ili ostavite prazno da omogućite svim hostovima da se povežu.

[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

Dekomentirajte “port” u odjeljku “NSClient” i postavite na zadani port ‘12489’. Obavezno otvorite port „12489“ na Windows zaštitnom zidu.

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

Konačno pokrenite uslugu NSClient++ sa sljedećom naredbom.

nsclient++ /start

Ako ste pravilno instalirani i konfigurisani, trebali biste vidjeti novu ikonu u sistemskoj paleti u žutom krugu sa crnim 'M' unutra.

Korak 2: Konfigurisanje Nagios servera i dodavanje Windows hostova

Sada se prijavite na Nagios server i dodajte neke definicije objekata u Nagios konfiguracijske datoteke da nadgledate novu Windows mašinu. Otvorite datoteku windows.cfg za uređivanje sa Vi editorom.

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

Primer definicije Windows hosta koji je već definisan za Windows mašinu, možete jednostavno promeniti definiciju hosta kao što su host_name, alias i address polja u odgovarajuća vrijednosti vaše Windows mašine.

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

Sljedeće usluge su već dodane i omogućene u datoteci windows.cfg. Ako želite dodati još neke druge definicije usluge koje treba pratiti, možete jednostavno dodati te definicije u istu konfiguracijsku datoteku. Obavezno promijenite host_name za sve ove usluge sa host_name definiranim u gornjem 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
	}

Na kraju, dekomentirajte datoteku windows.cfg u /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

Konačno, provjerite konfiguracijske datoteke Nagios za bilo kakve greške.

[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

Ako proces verifikacije izbaci bilo kakvu poruku o grešci, ispravite te greške dok se proces verifikacije ne završi bez ikakvih poruka o grešci. Kada ispravite te greške, ponovo pokrenite Nagios uslugu.

[root@tecmint]# service nagios restart

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

To je to. Sada idite na Nagios Monitoring Web interfejs na “http://Your-server-IP-address/nagios ” ili “http://FQDN/nagios” i unesite korisničko ime “nagiosadmin ” i lozinka. Provjerite je li Udaljeni Windows host dodan i da li se nadzire.

To je to! za sada ću vam u svom nadolazećem članku pokazati kako dodati Štampač i Prekidače na Nagios Monitoring Server. Ako imate poteškoća prilikom dodavanja Windows hosta u Nagios. Molimo komentirajte svoje upite putem odjeljka za komentare, a do tada pratite linux-console.net za još ovakvih vrijednih članaka.