V předchozích článcích jsme diskutovali o příručce Jumpstart Nagios 3.0 a jak monitorovat vzdáleného hostitele Linuxu pomocí Nagios 3.0. V tomto článku vysvětlím, jak monitorovat vzdálený počítač s Windows a různé služby běžící na serveru Windows pomocí monitorovacího serveru nagios. Tento článek obsahuje následující tři sekce.
I. Přehled
II. 4 kroky k instalaci nagios na vzdáleném hostiteli Windows
- Nainstalujte NSClient++ na vzdálený server Windows
- Upravte službu NSClient++
- Upravte soubor NSC.ini
- Spusťte službu NSClient++
III. 6 konfiguračních kroků na monitorovacím serveru nagios
- Ověřte příkaz check_nt a šablonu serveru Windows
- Odkomentujte windows.cfg v /usr/local/nagios/etc/nagios.cfg
- Upravit /usr/local/nagios/etc/objects/windows.cfg
- Definujte služby systému Windows, které by měly být monitorovány.
- Povolte ochranu heslem
- Ověřte konfiguraci a restartujte Nagios.
I. Přehled
.
Následování tří kroků bude probíhat na velmi vysoké úrovni, když Nagios (instalovaný na serveru nagios) monitoruje službu (např. využití místa na disku) na vzdáleném hostiteli Windows.
- Nagios provede příkaz check_nt na serveru nagios a požádá jej o sledování využití disku na vzdáleném hostiteli systému Windows.
- Kontakt check_nt na nagios-serveru kontaktuje službu NSClient++ na vzdáleném hostiteli Windows a požádá ji, aby na vzdáleném hostiteli spustila USEDDISKSPACE.
- Výsledky příkazu USEDDISKSPACE vrátí démon NSClient++ zpět do check_nt na nagios-server.
Následující postup shrnuje výše uvedené vysvětlení:
Nagios Server (check_nt) —–> Vzdálený hostitel (NSClient++) —–> USEDDISKSPACE
Nagios Server (check_nt) <—– Vzdálený hostitel (NSClient++) <—– USEDDISKSPACE (vrací využití místa na disku)
II. 4 kroky k nastavení nagios na vzdáleném hostiteli Windows
.
1. Nainstalujte NSClient++ na vzdálený server Windows
Stáhněte si NSCP 0.3.1 (NSClient++-Win32-0.3.1.msi) z projektu NSClient++. NSClient++ je služba s otevřeným zdrojovým kódem pro Windows, která umožňuje, aby Nagios shromažďoval metriky výkonu pro služby Windows. Projděte následujících pět kroků instalace NSClient++, abyste instalaci dokončili.
(1) Úvodní obrazovka NSClient++
(2) Obrazovka licenční smlouvy
(3) Vyberte možnost instalace a umístění . Použijte výchozí možnost a klikněte na Další.
(4) Obrazovka připravena k instalaci . Začněte kliknutím na Instalovat.
(5) Obrazovka instalace dokončena .
2. Upravte službu NSClient++
Přejděte na Ovládací panely -> Nástroje pro správu -> Služby. Dvakrát klikněte na službu „NSClientpp (Nagios) 0.3.1.14 2008-03-12 w32“ a zaškrtněte políčko „Povolit službě interakci s pracovní plochou“, jak je znázorněno níže.
3. Upravte soubor NSC.ini
(1) Upravte soubor NSC.ini a odkomentujte *.dll: Upravte soubor C:\Program Files\NSClient++\NSC.ini a odkomentujte vše pod [modules] kromě RemoteConfiguration.dll a CheckWMI.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
(2) Upravte soubor NSC.ini a zrušte komentář allow_hosts. Upravte soubor C:\Program Files\NSClient++\NSC.ini a v nastavení Odkomentujte povolený_hostitel a přidejte IP adresu nagios-serveru.
;# 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=192.168.1.2/255.255.255.0
Poznámka: allow_host se nachází v sekci [Settings], [NSClient] a [NRPE]. Pro tento účel nezapomeňte změnit povolený_hostitel v části [Nastavení].
(3) Upravte soubor NSC.ini a odkomentujte port. Upravte soubor C:\Program Files\NSClient++\NSC.ini a odkomentujte port# v sekci [NSClient]
;# NSCLIENT PORT NUMBER ; This is the port the NSClientListener.dll will listen to. port=12489
(4) Upravte soubor NSC.ini a zadejte heslo. Můžete také zadat heslo, které musí server nagios použít pro vzdálený přístup k agentovi NSClient++.
[Settings] ;# OBFUSCATED PASSWORD ; This is the same as the password option but here you can store the password in an obfuscated manner. ; *NOTICE* obfuscation is *NOT* the same as encryption, someone with access to this file can still figure out the ; password. Its just a bit harder to do it at first glance. ;obfuscated_password=Jw0KAUUdXlAAUwASDAAB ; ;# PASSWORD ; This is the password (-s) that is required to access NSClient remotely. If you leave this blank everyone will be able to access the daemon remotly. password=My2Secure$Password
4. Spusťte službu NSClient++ Service
Spusťte službu NSClient++ buď z Ovládacích panelů -> Nástroje pro správu -> Služby -> Vyberte „NSClientpp (Nagios) 0.3.1.14 2008-03-12 w32“ a klikněte na start (nebo) Klikněte na „Start -> Všechny programy -> NSClient++ -> Spustit NSClient++ (Win32) . Upozorňujeme, že tím spustíte NSClient++ jako službu systému Windows.
Pokud později cokoli upravíte v souboru NSC.ini, měli byste restartovat „NSClientpp (Nagios) 0.3.1.14 2008-03-12 w32“ ze služby Windows.
III. 6 konfiguračních kroků na monitorovacím serveru nagios
.
1. Ověřte příkaz check_nt a šablonu serveru Windows
Ověřte, že je povolen check_nt v /usr/local/nagios/etc/objects/commands.cfg
# 'check_nt' command definition define command{ command_name check_nt command_line $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -v $ARG1$ $ARG2$ }
Ověřte, že je šablona serveru Windows povolena v /usr/local/nagios/etc/objects/templates.cfg
# Windows host definition template - This is NOT a real host, just a template! define host{ name windows-server ; The name of this host template use generic-host ; Inherit default values from the generic-host template check_period 24x7 ; By default, Windows servers are monitored round the clock check_interval 5 ; Actively check the server every 5 minutes retry_interval 1 ; Schedule host check retries at 1 minute intervals max_check_attempts 10 ; Check each server 10 times (max) check_command check-host-alive ; Default command to check if servers are "alive" notification_period 24x7 ; Send notification out at any time - day or night notification_interval 30 ; Resend notifications every 30 minutes notification_options d,r ; Only send notifications for specific host states contact_groups admins ; Notifications get sent to the admins by default hostgroups windows-servers ; Host groups that Windows servers should be a member of register 0 ; DONT REGISTER THIS - ITS JUST A TEMPLATE }
2. Odkomentujte windows.cfg v /usr/local/nagios/etc/nagios.cfg
# Definitions for monitoring a Windows machine cfg_file=/usr/local/nagios/etc/objects/windows.cfg
3. Upravit /usr/local/nagios/etc/objects/windows.cfg
Ve výchozím nastavení je ukázková definice hostitele pro server Windows uvedena v souboru windows.cfg, upravte jej tak, aby odrážel příslušný server Windows, který je třeba monitorovat prostřednictvím nagios.
# 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 remote-windows-host ; The name we're giving to this host alias Remote Windows Host ; A longer name associated with the host address 192.168.1.4 ; IP address of the remote windows host }
4. Definujte služby systému Windows, které by měly být monitorovány.
Níže jsou uvedeny výchozí služby systému Windows, které jsou již povoleny v ukázkovém souboru windows.cfg. Nezapomeňte aktualizovat název_hostitele u těchto služeb tak, aby odrážel název_hostitele definovaný ve výše uvedeném kroku.
define service{ use generic-service host_name remote-windows-host service_description NSClient++ Version check_command check_nt!CLIENTVERSION } define service{ use generic-service host_name remote-windows-host service_description Uptime check_command check_nt!UPTIME } define service{ use generic-service host_name remote-windows-host service_description CPU Load check_command check_nt!CPULOAD!-l 5,80,90 } define service{ use generic-service host_name remote-windows-host service_description Memory Usage check_command check_nt!MEMUSE!-w 80 -c 90 } define service{ use generic-service host_name remote-windows-host service_description C:\ Drive Space check_command check_nt!USEDDISKSPACE!-l c -w 80 -c 90 } define service{ use generic-service host_name remote-windows-host service_description W3SVC check_command check_nt!SERVICESTATE!-d SHOWALL -l W3SVC } define service{ use generic-service host_name remote-windows-host service_description Explorer check_command check_nt!PROCSTATE!-d SHOWALL -l Explorer.exe }
5. Povolit ochranu heslem
Pokud jste zadali heslo v souboru NSC.ini konfiguračního souboru NSClient++ na počítači se systémem Windows, budete muset upravit definici příkazu check_nt tak, aby obsahovala heslo. Upravte soubor /usr/local/nagios/etc/commands.cfg a přidejte heslo, jak je uvedeno níže.
define command{ command_name check_nt command_line $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -s My2Secure$Password -v $ARG1$ $ARG2$ }
6. Ověřte konfiguraci a restartujte Nagios.
Ověřte konfigurační soubory nagios, jak je uvedeno níže.
[nagios-server]# /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
Restartujte nagios, jak je uvedeno níže.
[nagios-server]# /etc/rc.d/init.d/nagios stop Stopping nagios: .done. [nagios-server]# /etc/rc.d/init.d/nagios start Starting nagios: done.
Ověřte stav různých služeb běžících na vzdáleném hostiteli Windows z webového uživatelského rozhraní Nagios (http://nagios-server/nagios), jak je uvedeno níže.
Nejlepší kniha z Nagios
Elektronická kniha Nagios Core 3 – Nagios používám několik let a v noci mohu klidně spát že Nagios monitoruje všechny mé systémy a upozorní mě na jakýkoli potenciální problém, než se stane kritickým. Důrazně doporučuji, abyste si přečetli e-knihu Nagios Core 3, abyste získali podrobné znalosti o Nagios. Protože Nagios je svobodný software, utratit pár dolarů za knihu může být tou nejlepší investicí, kterou můžete udělat.
Úžasné články z Nagios
Následuje několik úžasných článků z Nagios které by vám mohly pomoci.
- Jak monitorovat vzdáleného hostitele Linuxu pomocí Nagios 3
- Jak monitorovat síťový přepínač a porty pomocí Nagios
- Nagios 3 Jumpstart Guide for Linux – přehled, instalace a konfigurace