Nagios NRPE ile sunucunun zaman kontrolünü yapmak

Linux ya da Windows, production ortamında çalışan tüm sunucuların saatlerinin tek bir saate bağlı olarak çalışması gerekiyor. Bu sebeple NTP (Network Time Protocol) sunucu ve istemleri kullanılmakta. Bilgisayarların işlemcilerinin clock hataları sebebiyle ileri ya da geri kalmalarını engellemek için NTP kullanılsa da, bazı durumlarda sunucu saatinin hatalı kalması normal bir durum. İşte bu zaman hatalarını algılamak ve sistem yöneticilerini konuyla ilgili olarak uyarmak için her zaman ki gibi çok sevdiğim yazılım olan NAGIOS kullandım 🙂 Nasıl mı?

Öncelikle sunucularda time-stream servisinin çalışması gerekiyor. Windows sunucularda hazır olarak açık geliyor sanırım. Linux sunucularda ise xinetd veya inetd yapılandırma dosyalarında aşağıdaki değişiklikleri yaparak açmak mümkün.

– Redhat tabanlı sunucularda /etc/xinetd.d/time-stream (veya /etc/xinetd.d/time) dosyasındaki “disable = yes” satırını “disable = no” yaparak,

* xinetd servisi yeniden başlatılmalı.

– Debian tabanlı sunucularda /etc/inetd.conf dosyasında

time stream tcp nowait root internal

satırının başındaki # işaretini silerek
* inetd servisini yeniden başlatmak için “kill -HUP inetd” komutu kullanılmalıdır.

Sıra geldi NRPE ayarlarına;
Linux sunucular için :
* nagios-nrpe eklentisini kurun.
* nagios sunucuda $nagios_etc_dir/objects/commands.cfg dosyasına aşağıdakileri ekleyin.

# Check Time
define command {
command_name check_time
command_line $USER1$/check_time -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$
}

* Kontrol edeceğiniz linux sunucunun yapılandırma dosyasına aşağıdakileri ekleyin.

define service{
use local-service
host_name benim_sunucum
service_description ServerTime
check_command check_time!60!90 ; warning = 60 , critical = 90
notifications_enabled 1
contact_groups linux-admins
}

* nagios servisini yeniden başlatın.

Windows sunucular için;
* NSClient++ kurun.
* http://exchange.nagios.org/components/com_mtree/attachment.php?link_id=1836&cf_id=24 adresindeki check_time.vbs dosyasını NSClient++ kurulu dizindeki “scripts/” altına download edin.
* NSClient kurulum dizinindeki NSC.ini dosyasında aşağıdaki satırların olduğundan ve/veya satırların kapalı olmadığından emin olun.

NRPEListener.dll
CheckExternalScripts.dll

[NRPE]
; nagios server ip adresi
allowed_hosts=192.168.1.20/32
port=5666

Daha sonra [NRPE Handlers] satırının altına aşağıdaki satırı ekleyin.

check_time=cscript.exe //T:30 //NoLogo scriptscheck_time.vbs 60 90

NSClient++ servisini/programını başlatın ve NAGIOS sunucudan windows sunucunun 5666. portuna telnet ile bağlanmaya çalışarak portun açık olup olmadığını kontrol edin. Daha sonra NAGIOS’ta windows sunucu için oluşturduğunuz yapılandırma dosyasına aşağıdaki satırları ekleyin ve NAGIOS’u yeniden başlatın.

define service{
use local-service
host_name benim_sunucum
service_description ServerTime
check_command check_time
notifications_enabled 1
contact_groups linux-admins
}

Artık NAGIOS saati farklı sunucular için size hata mesajları gönderebilecektir.

Leave a Reply


*