Hvordan legge til Windows Host til Nagios Monitoring Server


Denne artikkelen beskriver hvordan du overvåker Windows-maskiners «private»-tjenester som CPU-belastning, Diskbruk, >Minnebruk, Tjenester osv. For dette krevde vi å installere et NSClient++-tillegg på Windows-maskinen. Tillegget fungerer som en proxy mellom Windows-maskinen og Nagios og overvåker faktiske tjenester ved å kommunisere med check_nt-plugin. check_nt-pluginen er allerede installert på Nagios Monitoring Server, hvis du fulgte installasjonsveiledningen for Nagios.

Vi antar at du allerede har installert og konfigurert Nagios-server i henhold til våre følgende guider.

  1. Slik installerer du Nagios 4.0.1 på RHEL/CentOS 6.x/5.x og Fedora 19/18/17
  2. Legg til Linux Host til Nagios Monitoring Server

For å overvåke Windows-maskiner må du følge flere trinn, og de er:

  1. Installer NSClient++-tillegget på Windows-maskinen.
  2. Konfigurer Nagios Server for overvåking av Windows Machine.
  3. Legg til nye verts- og tjenestedefinisjoner for Windows-maskinovervåking.
  4. Start Nagios-tjenesten på nytt.

For å gjøre denne veiledningen enkel og enklere, noen få konfigurasjoner allerede gjort for deg i Nagios-installasjonen.

  1. En check_nt-kommandodefinisjon er allerede lagt til i command.cfg-filen. Denne definisjonskommandoen brukes av check_nt plugin for å overvåke Windows-tjenester.
  2. En Windows-server vert mal som allerede er opprettet i templates.cfg-filen. Denne malen lar deg legge til nye Windows-vertsdefinisjoner.

De to ovennevnte filene «command.cfg» og «templates.cfg»-filene kan bli funnet på /usr/local/nagios/etc/objects/ katalog. Du kan endre og legge til dine egne definisjoner som passer dine behov. Men jeg vil anbefale deg å følge instruksjonene beskrevet i denne artikkelen, og du vil overvåke Windows-verten din på mindre enn 20 minutter.

Trinn 1: Installere NSClient++ Agent på Windows-maskin

Bruk instruksjonene nedenfor for å installere NSClient++ AgentEkstern Windows-vert. Last først ned den siste stabile versjonen NSClient++ 0.3.1 tilleggskildefilene, som du finner på lenken nedenfor.

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

Når du har lastet ned siste stabile versjon, pakk ut NSClient++-filene til en ny C:\NSClient++-katalog.

Åpne nå en MS-DOS ledetekst fra Startskjermen –> Kjør –> skriv 'cmd' og trykk enter og bytt til C:\NSClient++-katalogen.

C:\NSClient++

Registrer deretter NSClient++-tjenesten på systemet med følgende kommando.

nsclient++ /install

Til slutt, installer NSClient++ systray med følgende kommando.

nsclient++ SysTray

Åpne Windows Services Manager og høyreklikk på NSClient gå til Egenskaper og deretter fanen Logg på og klikk avmerkingsboksen som sier «Tillat tjenesten å samhandle med skrivebordet». Hvis det ikke allerede er tillatt, merk av i boksen for å tillate det.

Åpne NSC.INI-filen som ligger i C:\NSClient++-katalogen, og fjern kommentarene til alle modulene som er definert i «moduler»-delen, bortsett fra >CheckWMI.dll og 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

Fjern kommentaren til «allowed_hosts» i «Settings»-delen og definer IP-adressen til Nagios Monitoring Server eller la det stå tomt for å la eventuelle verter koble seg til.

[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

Fjern kommentaren til «port» i «NSClient»-delen og sett til standardport «12489». Sørg for å åpne «12489»-porten på Windows-brannmuren.

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

Start til slutt NSClient++-tjenesten med følgende kommando.

nsclient++ /start

Hvis du er riktig installert og konfigurert, bør du se et nytt ikon i systemstatusfeltet i gul sirkel med en svart "M" inni.

Trinn 2: Konfigurere Nagios Server og legge til Windows-verter

Logg nå på Nagios Server og legg til noen objektdefinisjoner i Nagios konfigurasjonsfiler for å overvåke ny Windows-maskin. Åpne windows.cfg-filen for redigering med Vi-redigeringsprogrammet.

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

Et eksempel på en Windows-vertsdefinisjon som allerede er definert for Windows-maskinen. Du kan ganske enkelt endre vertsdefinisjonen som feltene vertsnavn, alias og adresse til passende verdiene til Windows-maskinen.

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

Følgende tjenester er allerede lagt til og aktivert i filen windows.cfg. Hvis du ønsker å legge til flere andre tjenestedefinisjoner som må overvåkes, kan du enkelt legge til disse definisjonene i samme konfigurasjonsfil. Sørg for å endre vertsnavn for alle disse tjenestene med vertsnavn definert i trinnet ovenfor.

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
	}

Til slutt fjerner du kommentaren til windows.cfg-filen i /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

Til slutt kontrollerer du Nagios-konfigurasjonsfilene for eventuelle feil.

[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

Hvis bekreftelsesprosessen gir noen feilmeldinger, fikser du disse feilene til bekreftelsesprosessen fullføres uten noen feilmeldinger. Når du har fikset disse feilene, start Nagios-tjenesten på nytt.

[root@tecmint]# service nagios restart

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

Det er det. Gå nå til Nagios Monitoring Web-grensesnitt på "http://Your-server-IP-address/nagios " eller "http://FQDN/nagios " og oppgi brukernavn «nagiosadmin» og passord. Sjekk at Ekstern Windows-vert ble lagt til og blir overvåket.

Det er det! for nå, i min kommende artikkel vil jeg vise deg hvordan du legger til Skriver og Switcher til Nagios Monitoring Server. Hvis du har problemer med å legge til Windows-vert til Nagios. Kommenter spørsmålene dine via kommentarseksjonen, inntil da følg med på linux-console.net for flere slike verdifulle artikler.