Vyhledávání na webu

Jak přidat Windows Host na Nagios Monitoring Server


Tento článek popisuje, jak monitorovat „soukromé“ služby počítačů Windows, jako je Zatížení CPU, Využití disku, Využití paměti, Služby atd. K tomu jsme požadovali nainstalovat doplněk NSClient++ na počítač Windows. Doplněk funguje jako proxy mezi počítačem Windows a Nagios a monitoruje skutečné služby prostřednictvím komunikace s pluginem check_nt. Plugin check_nt je již nainstalován na Nagios Monitoring Server, pokud jste postupovali podle našeho instalačního průvodce Nagios.

Předpokládáme, že jste již nainstalovali a nakonfigurovali Nagios server podle našich následujících průvodců.

  1. Jak nainstalovat Nagios 4.0.1 na RHEL/CentOS 6.x/5.xa Fedora 19/18/17
  2. Přidejte Linux Host na Nagios Monitoring Server

Chcete-li sledovat Počítače se systémem Windows, budete muset provést několik kroků:

  1. Nainstalujte doplněk NSClient++ na počítač se systémem Windows.
  2. Nakonfigurujte Nagios Server pro monitorování Windows Machine.
  3. Přidejte nové definice hostitele a služby pro monitorování počítače se systémem Windows.
  4. Restartujte službu Nagios.

Aby byl tento průvodce jednoduchý a snazší, několik konfigurací již bylo provedeno v instalaci Nagios.

  1. Definice příkazu check_nt již byla přidána do souboru command.cfg. Tento definiční příkaz používá plugin check_nt ke sledování služeb Windows.
  2. Šablona hostitele systému windows-server již vytvořená v souboru templates.cfg. Tato šablona umožňuje přidat nové definice hostitele Windows.

Dva výše uvedené soubory „command.cfg“ a „templates.cfg“ lze nalézt na adrese /usr/local/nagios/etc/objects/ adresář. Můžete upravit a přidat své vlastní definice, které vyhovují vašim požadavkům. Doporučuji vám však postupovat podle pokynů popsaných v tomto článku a budete úspěšně monitorovat hostitele systému Windows za méně než 20 minut.

Krok 1: Instalace agenta NSClient++ na počítač se systémem Windows

Pomocí níže uvedených pokynů nainstalujte NSClient++ Agent na Vzdáleného hostitele Windows. Nejprve si stáhněte zdrojové soubory doplňků NSClient++ 0.3.1 nejnovější stabilní verze, které naleznete pod odkazem níže.

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

Jakmile si stáhnete nejnovější stabilní verzi, rozbalte soubory NSClient++ do nového adresáře C:\NSClient++.

Nyní otevřete příkazový řádek MS-DOS z Úvodní obrazovky –> Spustit –> zadejte „cmd“ a stiskněte enter a přejděte do adresáře C:\NSClient++.

C:\NSClient++

Dále zaregistrujte službu NSClient++ v systému pomocí následujícího příkazu.

nsclient++ /install

Nakonec nainstalujte NSClient++ systray pomocí následujícího příkazu.

nsclient++ SysTray

Otevřete Správce služeb systému Windows a klikněte pravým tlačítkem na NSClient, přejděte na Vlastnosti a poté na kartu Přihlásit se a klikněte na zaškrtávací políčko „Povolit službě interakci s plochou“. Pokud to ještě není povoleno, zaškrtněte políčko, abyste to povolili.

Otevřete soubor NSC.INI umístěný v adresáři C:\NSClient++ a odkomentujte všechny moduly definované v sekci „moduly“, kromě CheckWMI.dll a 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

Odkomentujte „allowed_hosts“ v sekci „Nastavení“ a definujte IP adresu vašeho Nagios Monitoring Server nebo ponechte jej prázdné, aby se mohli připojit všichni hostitelé.

[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

Odkomentujte „port“ v části „NSClient“ a nastavte výchozí port „12489“. Ujistěte se, že jste otevřeli port „12489“ v bráně Windows Firewall.

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

Nakonec spusťte službu NSClient++ pomocí následujícího příkazu.

nsclient++ /start

Pokud jste správně nainstalovali a nakonfigurovali, měli byste na systémové liště vidět novou ikonu ve žlutém kruhu s černým „M“ uvnitř.

Krok 2: Konfigurace serveru Nagios a přidání hostitelů Windows

Nyní se přihlaste do Nagios Server a přidejte některé definice objektů do konfiguračních souborů Nagios, abyste mohli monitorovat nový počítač Windows. Otevřete soubor windows.cfg pro úpravy pomocí editoru Vi.

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

Ukázková definice hostitele Windows již definovaná pro počítač se systémem Windows, můžete jednoduše změnit definici hostitele, jako jsou pole host_name, alias a address, aby odpovídala hodnoty vašeho počítače Windows.

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

Následující služby jsou již přidány a povoleny v souboru windows.cfg. Pokud chcete přidat další definice služeb, které je třeba monitorovat, můžete tyto definice jednoduše přidat do stejného konfiguračního souboru. Nezapomeňte změnit host_name pro všechny tyto služby pomocí host_name definovaného ve výše uvedeném kroku.

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
	}

Nakonec odkomentujte soubor windows.cfg v /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

Nakonec ověřte, zda v konfiguračních souborech Nagios nejsou nějaké chyby.

[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

Pokud proces ověření vyvolá nějaké chybové zprávy, opravte tyto chyby, dokud se proces ověření nedokončí bez jakýchkoli chybových zpráv. Jakmile tyto chyby opravíte, restartujte službu Nagios.

[root@tecmint]# service nagios restart

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

A je to. Nyní přejděte do webového rozhraní Nagios Monitoring na adrese „http://IP-adresa-vašeho-serveru/nagios“ nebo „http://FQDN/nagios“ a zadejte uživatelské jméno „nagiosadmin “ a heslo. Zkontrolujte, zda byl přidán Vzdálený hostitel systému Windows a zda je monitorován.

A je to! prozatím vám ve svém nadcházejícím článku ukážu, jak přidat Tiskárna a Přepínače na Nagios Monitoring Server. Pokud máte nějaké potíže při přidávání hostitele Windows do Nagios. Své dotazy prosím komentujte v sekci komentářů a do té doby sledujte linux-console.net, kde najdete další takové cenné články.