GNU/Linux >> Znalost Linux >  >> Linux

Jak monitorovat vzdálený počítač se systémem Windows pomocí Nagios v systému Linux


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

  1. Nainstalujte NSClient++ na vzdálený server Windows
  2. Upravte službu NSClient++
  3. Upravte soubor NSC.ini
  4. Spusťte službu NSClient++

III. 6 konfiguračních kroků na monitorovacím serveru nagios

  1. Ověřte příkaz check_nt a šablonu serveru Windows
  2. Odkomentujte windows.cfg v /usr/local/nagios/etc/nagios.cfg
  3. Upravit /usr/local/nagios/etc/objects/windows.cfg
  4. Definujte služby systému Windows, které by měly být monitorovány.
  5. Povolte ochranu heslem
  6. 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.

  1. 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.
  2. 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.
  3. 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

Linux
  1. Jak monitorovat ethernetovou aktivitu v Linuxu pomocí Arpwatch

  2. Jak vzdálenou plochu z Windows na plochu Linuxu pomocí XRDP

  3. Jak zjistím, zda vzdálený počítač používá Windows nebo Linux?

  1. Jak se připojit ke vzdálenému počítači Windows z Lubuntu linux pomocí Remmina

  2. Použití Windows DLL z Linuxu

  3. jak tunelovat vzdálenou plochu Windows přes ssh pomocí linuxového boxu?

  1. Jak spravovat vzdáleného hostitele Windows pomocí Ansible

  2. Jak připojit Windows Share na Linux pomocí CIFS

  3. Jak připojit vzdálené sdílení Windows v systému Linux