Wyszukiwanie w witrynie

Jak dodać hosta systemu Windows do serwera monitorowania Nagios


W tym artykule opisano, jak monitorować usługi „prywatne” komputerów Windows, takie jak obciążenie procesora, wykorzystanie dysku, Wykorzystanie pamięci, Usługi itp. W tym celu wymagaliśmy zainstalowania dodatku NSClient++ na komputerze Windows. Dodatek działa jako serwer proxy pomiędzy maszyną Windows a Nagios i monitoruje rzeczywiste usługi, komunikując się z wtyczką check_nt. Wtyczka check_nt jest już zainstalowana na Serwerze monitorowania Nagios, jeśli postępowałeś zgodnie z naszym przewodnikiem instalacji Nagios.

Zakładamy, że masz już zainstalowany i skonfigurowany serwer Nagios zgodnie z naszymi poniższymi przewodnikami.

  1. Jak zainstalować Nagios 4.0.1 na RHEL/CentOS 6.x/5.x i Fedorze 18/19/17
  2. Dodaj hosta Linux do serwera monitorowania Nagios

Aby monitorować Maszyny z systemem Windows, musisz wykonać kilka kroków, a są one następujące:

  1. Zainstaluj dodatek NSClient++ na komputerze z systemem Windows.
  2. Skonfiguruj serwer Nagios do monitorowania komputera z systemem Windows.
  3. Dodaj nowe definicje hostów i usług do monitorowania komputerów z systemem Windows.
  4. Uruchom ponownie usługę Nagios.

Aby uczynić ten przewodnik prostym i łatwiejszym, w instalacji Nagios dokonano już kilku konfiguracji.

  1. Definicja polecenia check_nt została już dodana do pliku command.cfg. To polecenie definicji jest używane przez wtyczkę check_nt do monitorowania usług Windows.
  2. Szablon hosta serwera Windows został już utworzony w pliku templates.cfg. Ten szablon umożliwia dodawanie nowych definicji hostów systemu Windows.

Powyższe dwa pliki „command.cfg” i „templates.cfg” można znaleźć pod adresem /usr/local/nagios/etc/objects/ katalog. Możesz modyfikować i dodawać własne definicje, które odpowiadają Twoim wymaganiom. Zalecam jednak postępowanie zgodnie z instrukcjami opisanymi w tym artykule, a udane monitorowanie hosta systemu Windows zajmie mniej niż 20 minut.

Krok 1: Instalowanie agenta NSClient++ na komputerze z systemem Windows

Skorzystaj z poniższych instrukcji, aby zainstalować NSClient++ Agent na Zdalnym hoście Windows. Najpierw pobierz najnowszą stabilną wersję dodatku NSClient++ 0.3.1 pliki źródłowe, które można znaleźć pod poniższym linkiem.

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

Po pobraniu najnowszej stabilnej wersji rozpakuj pliki NSClient++ do nowego katalogu C:\NSClient++.

Teraz otwórz wiersz poleceń MS-DOS z ekranu startowego –> Uruchom –> wpisz „cmd” i naciśnij Enter i przejdź do katalogu C:\NSClient++.

C:\NSClient++

Następnie zarejestruj usługę NSClient++ w systemie za pomocą poniższego polecenia.

nsclient++ /install

Na koniec zainstaluj pasek systemowy NSClient++ za pomocą następującego polecenia.

nsclient++ SysTray

Otwórz Menedżera usług Windows i kliknij prawym przyciskiem myszy NSClient, przejdź do Właściwości, a następnie zakładkę „Zaloguj się” i kliknij pole wyboru „Zezwalaj usłudze na interakcję z pulpitem”. Jeśli nie jest to jeszcze dozwolone, zaznacz pole, aby na to pozwolić.

Otwórz plik NSC.INI znajdujący się w katalogu C:\NSClient++ i odkomentuj wszystkie moduły zdefiniowane w sekcji „moduły”, z wyjątkiem Sprawdź plik WMI.dll i 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

Odkomentuj „allowed_hosts” w sekcji „Ustawienia” i zdefiniuj adres IP swojego serwera monitorowania Nagios lub pozostaw to pole puste, aby umożliwić połączenie dowolnym hostom.

[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

Odkomentuj „port” w sekcji „NSClient” i ustaw port domyślny „12489”. Pamiętaj, aby otworzyć port „12489” w Zaporze systemu Windows.

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

Na koniec uruchom usługę NSClient++ za pomocą następującego polecenia.

nsclient++ /start

Jeśli jesteś prawidłowo zainstalowany i skonfigurowany, powinieneś zobaczyć nową ikonę w zasobniku systemowym w żółtym kółku z czarnym „M” w środku.

Krok 2: Konfiguracja serwera Nagios i dodanie hostów Windows

Teraz zaloguj się do Serwera Nagios i dodaj kilka definicji obiektów w plikach konfiguracyjnych Nagios, aby monitorować nową maszynę Windows. Otwórz plik windows.cfg do edycji w edytorze Vi.

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

Przykładowa definicja hosta systemu Windows jest już zdefiniowana dla komputera z systemem Windows. Możesz po prostu zmienić definicję hosta, taką jak pola nazwa_hosta, alias i adres na odpowiednie wartości Twojego komputera 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
        }

Następujące usługi zostały już dodane i włączone w pliku windows.cfg. Jeśli chcesz dodać więcej definicji usług, które wymagają monitorowania, możesz po prostu dodać te definicje do tego samego pliku konfiguracyjnego. Pamiętaj, aby zmienić nazwę_hosta dla wszystkich usług z nazwą_hosta zdefiniowaną w powyższym 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
	}

Na koniec usuń komentarz z pliku windows.cfg w /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

Na koniec sprawdź, czy pliki konfiguracyjne Nagios nie zawierają błędów.

[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

Jeśli proces weryfikacji wyświetli jakiekolwiek komunikaty o błędach, napraw je do momentu zakończenia procesu weryfikacji bez żadnych komunikatów o błędach. Po naprawieniu tych błędów uruchom ponownie usługę Nagios.

[root@tecmint]# service nagios restart

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

Otóż to. Teraz przejdź do interfejsu internetowego Nagios Monitoring pod adresem „http://Twój-adres-IP-serwera/nagios” lub „http://FQDN/nagios” i podaj nazwa użytkownika „nagiosadmin” i hasło. Sprawdź, czy Zdalny host systemu Windows został dodany i jest monitorowany.

Otóż to! na razie w moim nadchodzącym artykule pokażę, jak dodać drukarkę i przełączniki do serwera monitorowania Nagios. Jeśli masz problemy podczas dodawania hosta Windows do Nagios. Prosimy o komentowanie swoich zapytań w sekcji komentarzy. Do tego czasu zaglądaj na linux-console.net, aby uzyskać więcej tego typu wartościowych artykułów.