Sådan tilføjes Windows Host til Nagios Monitoring Server


Denne artikel beskriver, hvordan man overvåger "private" tjenester til Windows-maskiner, såsom CPU-belastning, diskbrug, hukommelsesforbrug, tjenester osv. Til dette krævede vi at installere et NSClient ++-tilføjelsesprogram på Windows-maskinen. Tilføjelsen fungerer som en proxy mellem Windows-maskinen og Nagios og overvåger faktiske tjenester ved at kommunikere med check_nt-pluginet. Check_nt-pluginet er allerede installeret på Nagios Monitoring Server, hvis du fulgte vores Nagios installationsvejledning.

Vi antager, at du allerede har installeret og konfigureret Nagios-serveren i henhold til vores følgende guider.

  1. Sådan installeres Nagios 4.0.1 på RHEL/CentOS 6.x/5.x og Fedora 19/18/17
  2. Føj Linux-vært til Nagios Monitoring Server

For at overvåge Windows-maskiner skal du følge flere trin, og de er:

  1. Installer NSClient ++ tilføjelse på Windows-maskinen.
  2. Konfigurer Nagios Server til overvågning af Windows-maskine.
  3. Tilføj nye værts- og servicedefinitioner til Windows-maskinovervågning.
  4. Genstart Nagios-tjenesten.

For at gøre denne vejledning enkel og lettere, er nogle få af konfigurationer allerede gjort for dig i Nagios-installationen.

  1. En definition af check_nt-kommando, der allerede er føjet til filen command.cfg. Denne definitionskommando bruges af check_nt plugin til at overvåge Windows-tjenester.
  2. En Windows-server-værtsskabelon, der allerede er oprettet i templates.cfg-filen. Denne skabelon giver dig mulighed for at tilføje nye Windows-værtsdefinitioner.

Ovenstående to filer "command.cfg" og "templates.cfg" filer kan findes i/usr/local/nagios/etc/objects/directory. Du kan ændre og tilføje dine egne definitioner, der passer til dine krav. Men jeg vil anbefale dig at følge instruktionerne beskrevet i denne artikel, og du overvåger din Windows-vært med succes på mindre end 20 minutter.

Trin 1: Installation af NSClient ++ Agent på Windows-maskine

Brug nedenstående instruktioner til at installere NSClient ++ Agent på Remote Windows Host. Download først den seneste stabile version NSClient ++ 0.3.1 addon-kildefiler, som kan findes på nedenstående link.

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

Når du har downloadet den seneste stabile version, skal du pakke NSClient ++ - filerne ud i et nyt C: \ NSClient ++ - bibliotek.

Åbn nu en MS-DOS-kommandoprompt fra startskærmen -> Kør -> skriv 'cmd', og tryk på enter, og skift til C: \ NSClient ++ -mappen.

C:\NSClient++

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

nsclient++ /install

Endelig skal du installere NSClient ++ systray med følgende kommando.

nsclient++ SysTray

Åbn Windows Services Manager, og højreklik på NSClient, gå til Egenskaber og derefter "Log på" -fanen, og klik på afkrydsningsfeltet, der siger "Tillad, at tjenesten interagerer med skrivebordet". Hvis det ikke allerede er tilladt, skal du markere afkrydsningsfeltet for at tillade det.

Åbn NSC.INI-filen i C: \ NSClient ++ -mappen, og fjern kommentar til alle moduler, der er defineret i afsnittet "moduler", undtagen 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 bemærkninger fra "tilladte_hosts" i afsnittet "Indstillinger", og definer IP-adressen på din Nagios Monitoring Server, eller lad den være tom for at give værter mulighed for at oprette forbindelse.

[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 kommentar til "porten" i afsnittet "NSClient" og indstil til standardport '12489'. Sørg for at åbne '12489' port på Windows Firewall.

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

Endelig start NSClient ++ -tjenesten med følgende kommando.

nsclient++ /start

Hvis du er korrekt installeret og konfigureret, skal du se et nyt ikon i systembakken i gul cirkel med en sort 'M' indeni.

Trin 2: Konfiguration af Nagios Server og Tilføj Windows-værter

Log nu ind på Nagios Server, og tilføj nogle objektdefinitioner i Nagios-konfigurationsfiler for at overvåge ny Windows-maskine. Åbn windows.cfg-fil til redigering med Vi editor.

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

En eksempel på en Windows-værtsdefinition, der allerede er defineret til Windows-maskinen, kan du blot ændre værtsdefinitionen som værtsnavn, alias og adressefelter til passende værdier på din Windows-maskine.

###############################################################################
###############################################################################
#
# 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 tilføjet og aktiveret i windows.cfg-filen. Hvis du vil tilføje nogle flere andre servicedefinitioner, der skal overvåges, kan du simpelt føje disse definitioner til den samme konfigurationsfil. Sørg for at ændre værtsnavn for alle disse tjenester med værtsnavn defineret i ovenstående trin.

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 sidst skal du fjerne kommentar til windows.cfg-filen i /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

Til sidst skal du kontrollere Nagios-konfigurationsfilerne for eventuelle fejl.

 /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 bekræftelsesprocessen udsender fejlmeddelelser, skal du rette disse fejl, indtil verificeringsprocessen er afsluttet uden nogen fejlmeddelelser. Når først du har løst disse fejl, skal du genstarte Nagios-tjenesten.

 service nagios restart

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

Det er det. Gå nu til Nagios Monitoring Web-interface på “http:/Din-server-IP-adresse/nagios” eller “http:/FQDN/nagios” og angiv brugernavnet “nagiosadmin” og adgangskode. Kontroller, at den eksterne Windows-vært blev tilføjet og overvåges.

Det er det! for nu vil jeg i min kommende artikel vise dig, hvordan du tilføjer printer og switche til Nagios Monitoring Server. Hvis du har problemer med at føje Windows-vært til Nagios. Kommenter dine forespørgsler via kommentarsektionen, indtil da hold dig opdateret med linux-console.net for flere sådanne slags værdifulde artikler.