Nagios İzleme Sunucusuna Windows Host Nasıl Eklenir


Bu makalede, CPU yükü, Disk kullanımı, gibi Windows makinelerinin “özel” hizmetlerinin nasıl izleneceği açıklanmaktadır. >Bellek kullanımı, Hizmetler vb. Bunun için Windows makineye bir NSClient++ eklentisi kurmamız gerekiyordu. Eklenti, Windows makinesi ile Nagios arasında proxy görevi görür ve check_nt eklentisiyle iletişim kurarak gerçek hizmetleri izler. Nagios kurulum kılavuzumuzu izlediyseniz check_nt eklentisi zaten Nagios İzleme Sunucusu'nda yüklüdür.

Nagios sunucusunu zaten aşağıdaki kılavuzlarımıza göre kurup yapılandırdığınızı varsayıyoruz.

  1. Nagios 4.0.1'i RHEL/CentOS 6.x/5.x ve Fedora 19/18/17'ye Yükleme
  2. Nagios İzleme Sunucusuna Linux Ana Bilgisayarı Ekleme

Windows Makinelerini izlemek için birkaç adımı uygulamanız gerekir; bunlar:

  1. Windows Makinesine NSClient++ eklentisini yükleyin.
  2. Windows Makinesini izlemek için Nagios Sunucusunu yapılandırın.
  3. Windows makine izleme için yeni ana bilgisayar ve hizmet tanımları ekleyin.
  4. Nagios Hizmetini yeniden başlatın.

Bu kılavuzu basit ve kolay hale getirmek için Nagios kurulumunda sizin için birkaç yapılandırma zaten yapılmıştır.

  1. command.cfg dosyasına zaten eklenmiş bir check_nt komut tanımı. Bu tanım komutu, Windows hizmetlerini izlemek için check_nt eklentisi tarafından kullanılır.
  2. templates.cfg dosyasında zaten oluşturulmuş bir Windows sunucusu ana bilgisayarı şablonu. Bu şablon yeni Windows ana bilgisayar tanımları eklemenizi sağlar.

Yukarıdaki iki dosya olan “command.cfg” ve “templates.cfg” dosyaları /usr/local/nagios/etc/objects/ adresinde bulunabilir. güçlü> dizin. İhtiyaçlarınıza uygun kendi tanımlarınızı değiştirebilir ve ekleyebilirsiniz. Ancak bu makalede açıklanan talimatları izlemenizi öneririm; 20 dakikadan kısa bir sürede Windows ana makinenizi başarıyla izliyor olacaksınız.

Adım 1: NSClient++ Agent'ı Windows Makinesine Yükleme

NSClient++ AgentUzak Windows Ana Bilgisayarına yüklemek için lütfen aşağıdaki talimatları kullanın. Öncelikle aşağıdaki bağlantıda bulabileceğiniz en son kararlı sürüm NSClient++ 0.3.1 eklenti kaynak dosyalarını indirin.

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

En son kararlı sürümü indirdikten sonra NSClient++ dosyalarını yeni bir C:\NSClient++ dizinine açın.

Şimdi Başlat Ekranı'ndan bir MS-DOS komut istemi açın –> Çalıştır –> 'cmd' yazın ve enter tuşuna basın ve C:\NSClient++ dizinine geçin.

C:\NSClient++

Daha sonra aşağıdaki komutla NSClient++ hizmetini sisteme kaydedin.

nsclient++ /install

Son olarak aşağıdaki komutla NSClient++ sistem tepsisini yükleyin.

nsclient++ SysTray

Windows Hizmet Yöneticisi'ni açın ve NSClient'e sağ tıklayın, Özellikler'e gidin ve ardından 'Oturum Aç sekmesine gidin ve tıklayın "Hizmetin masaüstüyle etkileşime girmesine izin ver" yazan onay kutusunu işaretleyin. Zaten izin verilmiyorsa lütfen izin vermek için kutuyu işaretleyin.

C:\NSClient++ dizininde bulunan NSC.INI dosyasını açın ve modüller bölümünde tanımlanan tüm modüllerin açıklamalarını kaldırın. >CheckWMI.dll ve 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

"Ayarlar" bölümünde "allowed_hosts" ifadesinin açıklamasını kaldırın ve Nagios İzleme Sunucunuzun IP adresini tanımlayın veya Ana bilgisayarların bağlanmasına izin vermek için boş bırakın.

[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

"NSClient" bölümünde "bağlantı noktası"nın açıklamasını kaldırın ve varsayılan bağlantı noktası "12489" olarak ayarlayın. Windows Güvenlik Duvarı'nda "12489" bağlantı noktasını açtığınızdan emin olun.

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

Son olarak NSClient++ hizmetini aşağıdaki komutla başlatın.

nsclient++ /start

Düzgün yüklenip yapılandırılmışsa, sistem tepsisinde sarı daire içinde, içinde siyah "M" bulunan yeni bir simge görmelisiniz.

Adım 2: Nagios Sunucusunu Yapılandırma ve Windows Ana Bilgisayarlarını Ekleme

Şimdi Nagios Sunucusunda oturum açın ve yeni Windows makinesini izlemek için Nagios yapılandırma dosyalarına bazı nesne tanımları ekleyin. Vi düzenleyiciyle düzenlemek için windows.cfg dosyasını açın.

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

Windows makinesi için önceden tanımlanmış örnek bir Windows ana bilgisayar tanımı; ana bilgisayar_adı, takma ad ve adres alanları gibi ana bilgisayar tanımını uygun şekilde değiştirebilirsiniz. Windows makinenizin değerleri.

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

Aşağıdaki hizmetler zaten windows.cfg dosyasına eklenmiş ve etkinleştirilmiştir. İzlenmesi gereken başka hizmet tanımları da eklemek isterseniz, bu tanımları aynı yapılandırma dosyasına ekleyebilirsiniz. Tüm bu hizmetler için ana bilgisayar_adı'nı yukarıdaki adımda tanımlanan ana bilgisayar_adı ile değiştirdiğinizden emin olun.

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
	}

Son olarak, /usr/local/nagios/etc/nagios.cfg dosyasındaki windows.cfg dosyasının açıklamasını kaldırın.

[root@tecmint]# vi /usr/local/nagios/etc/nagios.cfg
Definitions for monitoring a Windows machine
cfg_file=/usr/local/nagios/etc/objects/windows.cfg

Son olarak Nagios yapılandırma dosyalarında herhangi bir hata olup olmadığını doğrulayın.

[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

Doğrulama işlemi herhangi bir hata mesajı verirse doğrulama işlemi herhangi bir hata mesajı olmadan tamamlanana kadar bu hataları düzeltin. Bu hataları düzelttikten sonra Nagios hizmetini yeniden başlatın.

[root@tecmint]# service nagios restart

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

Bu kadar. Şimdi “http://Sunucunuzun-IP-adresi/nagios” veya “http://FQDN/nagios” adresindeki Nagios Monitoring Web arayüzüne gidin ve kullanıcı adı “nagiosadmin ” ve şifre. Uzak Windows Ana Bilgisayarının eklendiğini ve izlendiğini kontrol edin.

Bu kadar! şimdilik, gelecek makalemde size Nagios Monitoring Server'a Yazıcı ve Anahtarları nasıl ekleyeceğinizi göstereceğim. Nagios'a Windows ana bilgisayarını eklerken herhangi bir zorluk yaşıyorsanız. Lütfen sorularınızı yorum bölümü aracılığıyla yorum olarak belirtin, o zamana kadar bu tür değerli makalelerin devamı için linux-console.net'u takip etmeye devam edin.