Kako dodati Windows host Nagios poslužitelju za praćenje


Ovaj članak opisuje kako nadzirati "privatne" usluge Windows strojeva kao što su opterećenje procesora, korištenje diska, Upotreba memorije, Usluge, itd. Za ovo smo zahtijevali instaliranje dodatka NSClient++ na Windows stroj. Dodatak djeluje kao proxy između Windows stroja i Nagios i nadzire stvarne usluge komunicirajući s check_nt dodatkom. Dodatak check_nt već je instaliran na Nagios poslužitelju za praćenje, ako ste slijedili naš Nagios vodič za instalaciju.

Pretpostavljamo da ste već instalirali i konfigurirali Nagios poslužitelj 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 Nagios poslužitelju za praćenje

Za nadzor Windows strojeva morat ćete slijediti nekoliko koraka, a oni su:

  1. Instalirajte dodatak NSClient++ na Windows stroj.
  2. Konfigurirajte Nagios poslužitelj za nadzor Windows stroja.
  3. Dodajte nove definicije hosta i usluga za nadzor Windows stroja.
  4. Ponovno pokrenite uslugu Nagios.

Kako bi ovaj vodič bio jednostavan i lakši, nekoliko konfiguracija već je učinjeno za vas u Nagios instalaciji.

  1. Definicija naredbe check_nt već je dodana u datoteku command.cfg. Ovu naredbu definicije koristi dodatak check_nt za nadzor Windows usluga.
  2. Predložak hosta Windows poslužitelja već je stvoren u datoteci templates.cfg. Ovaj vam predložak omogućuje dodavanje novih definicija Windows hosta.

Gornje dvije datoteke “command.cfg” i “templates.cfg” mogu se pronaći na /usr/local/nagios/etc/objects/ imenik. Možete mijenjati i dodavati vlastite definicije koje odgovaraju vašim zahtjevima. No, preporučujem vam da slijedite upute opisane u ovom članku i uspješno ćete nadzirati svoje Windows host za manje od 20 minuta.

Korak 1: Instaliranje NSClient++ agenta na Windows stroj

Koristite donje upute za instalaciju NSClient++ Agent na Udaljeno Windows računalo. Najprije preuzmite najnoviju stabilnu verziju NSClient++ 0.3.1 izvornih datoteka dodatka, koje se mogu pronaći na donjoj poveznici.

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

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

Sada otvorite MS-DOS naredbeni redak iz Početnog zaslona –> Pokreni –> upišite 'cmd' i pritisnite enter i prijeđite na direktorij C:\NSClient++.

C:\NSClient++

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

nsclient++ /install

Na kraju, instalirajte NSClient++ sistemsku traku pomoću sljedeće naredbe.

nsclient++ SysTray

Otvorite Windows Services Manager i desnom tipkom miša kliknite NSClient idite na Properties i zatim 'Log On' karticu i kliknite potvrdni okvir koji kaže “Dopusti interakciju usluge s radnom površinom“. Ako već nije dopušteno, označite okvir da biste to dopustili.

Otvorite datoteku NSC.INI koja se nalazi u direktoriju C:\NSClient++ i uklonite komentare sa svih modula definiranih u odjeljku “moduli”, osim za Provjerite WMI.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

Odkomentirajte “allowed_hosts” u odjeljku “Postavke” i definirajte IP adresu vašeg Nagios poslužitelja za praćenje ili ostavite prazno kako biste dopustili bilo kojem hostu da se poveže.

[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

Odkomentirajte “port” u odjeljku “NSClient” i postavite na zadani port ‘12489’. Obavezno otvorite port ‘12489’ na vatrozidu Windows.

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

Na kraju pokrenite uslugu NSClient++ sljedećom naredbom.

nsclient++ /start

Ako ste ispravno instalirani i konfigurirani, trebali biste vidjeti novu ikonu u traci sustava u žutom krugu s crnim 'M' unutra.

Korak 2: Konfiguriranje Nagios poslužitelja i dodavanje Windows hostova

Sada se prijavite na Nagios poslužitelj i dodajte neke definicije objekata u Nagios konfiguracijske datoteke za nadzor novog Windows stroja. Otvorite datoteku windows.cfg za uređivanje pomoću uređivača Vi.

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

Uzorak Windows definicije glavnog računala već je definiran za Windows stroj, možete jednostavno promijeniti definiciju glavnog računala kao što su polja host_name, alias i address u odgovarajuća vrijednosti vašeg Windows stroja.

###############################################################################
###############################################################################
#
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 već su dodane i omogućene u datoteci windows.cfg. Ako želite dodati neke druge definicije usluga koje je potrebno nadzirati, možete jednostavno dodati te definicije u istu konfiguracijsku datoteku. Provjerite jeste li promijenili host_name za sve ove usluge s 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 uklonite komentar s datoteke 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

Na kraju provjerite ima li u konfiguracijskim datotekama Nagios grešaka.

[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 postupak provjere izbaci bilo kakvu poruku o pogrešci, popravite te pogreške dok se postupak provjere ne završi bez poruka o pogrešci. Nakon što ispravite te pogreške, ponovno pokrenite uslugu Nagios.

[root@tecmint]# service nagios restart

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

To je to. Sada idite na web sučelje Nagios Monitoring na “http://IP-adresa-poslužitelja/nagios” ili “http://FQDN/nagios” i unesite korisničko ime “nagiosadmin ” i lozinka. Provjerite je li Udaljeni Windows host dodan i nadzire li se.

To je to! za sada ću vam u svom nadolazećem članku pokazati kako dodati Pisač i Prekidače na Nagios poslužitelj za nadgledanje. Ako imate bilo kakvih poteškoća prilikom dodavanja hosta Windows u Nagios. Komentirajte svoje upite putem odjeljka za komentare, a do tada pratite linux-console.net za još ovakvih vrijednih članaka.