Nagios
TR-Grid sitesinden
Nagios bir sistem odasında toplu bir şekilde bulunan yada ayrı ayrı mekanlarda dağıtık bir şekilde bulunan gruplar halindeki bilgisayarların anlık durumlarının incelenmesinde ve bunların kayıt altında tutulmasında endüstri standartı haline gelmiş bir uygulamadır.
Mevcut pluginler kullanılabildiği gibi sistem yöneticisi kendi eklentilerini de yazıp kullanabilir. Nagios bilgisayarlarla ilgil pek çok parametreyi gözlemleyebilir. Ancak TR-GRID altyapısındaki kümelerde biz sadece bilgisayarın UP olup olmadığını ve SSH isteklerine yanıt verip vermediğini kontrol ediyoruz.
Standart Nagios Kurulumu
Scientific Linux kurulu sistemlerde herhangi bir paket yum paket yönetici ile kolaylıkla kurulabilir.
yum install nagios.x86_64 ndoutils.x86_64 ndoutils-mysql.x86_64
komutu Nagios'un kurulması için yeterlidir.
Kurulum sonrasında konfigurasyon dosyaları /etc/nagios dizini içerisinde bulunur. Burada değiştirilmesi gerekne ilk dosya nagios.cfg dosyasıdır. Hangi object dosyalarının çağırılacağını ve nagiosun nasıl bir yapılandırma ile çalıştırılacağını bu dosya içinde belirtiyoruz. Bu dosyaya aşağıdaki satırları ekleyelim:
cfg_file=/etc/nagios/objects_ulakbim/checkcommands.cfg cfg_file=/etc/nagios/objects_ulakbim/notifcommands.cfg cfg_file=/etc/nagios/objects_ulakbim/contactgroups.cfg cfg_file=/etc/nagios/objects_ulakbim/contacts.cfg cfg_file=/etc/nagios/objects_ulakbim/hostsgroups.cfg cfg_file=/etc/nagios/objects_ulakbim/hosts.cfg cfg_file=/etc/nagios/objects_ulakbim/services.cfg cfg_file=/etc/nagios/objects_ulakbim/timeperiods.cfg
Bu object dosyaları içinde TR-GRID altyapısındaki hesap kümeleri, hesap nodeları, her bir node üzerinde hangi servisin inceleneceği, bilgilendirme amaçlı e-postaların gönderilecegi contact listeleri gibi bilgiler bulunur.
Bu object dosyalarının bulunduğu taz.gz dosyası www.grid.org.tr suncusunda root dizinde bulunmaktadır.
Eğer nagios loglarının mysql tablolarında tutulması isteniyorsa nagios.cfg dosyasında
#broker_module=/somewhere/module2.o arg1 arg2=3 debug=0
satırı
broker_module=/usr/libexec/ndomod-3x.o config_file=/etc/nagios/ndomod.cfg
ile değiştirilmelidir.
Mysql üzerinde nagiosun kullanımı için yeni bir veritabanı ve bu veritabanı üzer,nde yetkilendirilmiş bir kullanıcı açılmalıdır. /usr/share/doc/ndoutils-mysql-1.4/db/mysql.sql dosyasındaki veritabanı yapısı yeni oluşturulan veritabanına yüklenmelidir.
/etc/nagios/ndomod.cfg ve /etc/nagios/ndo2db.cfg dosyalarında gerekli düzenlemeler yapılmadır.
Son olarak /etc/nagios/cgi.cfg dosyasında yapılması gereken birkaç değişiklik var. Bu dosyada hangi kullanıcıların hangi işlemleri yapacak cgi programlarını çalıştırabileceklerini belirliyoruz. Normalde .htpasswd dosyalarında saklanan kullanıcı adı ve parolalar ile bu yapılabilir, ancak sadece geçerli bir sertifikası olan kullanıcının nagios web sayfasına girmesine izin veriyoruz. Dosyaya Aşağıdaki satırları eklememiz yeterlidir:
authorized_for_system_information=/C=TR/O=TRGrid/OU=TUBITAK-ULAKBIM/CN=XXXXXXXX authorized_for_configuration_information=/C=TR/O=TRGrid/OU=TUBITAK-ULAKBIM/CN=XXXXXXXX authorized_for_system_commands=/C=TR/O=TRGrid/OU=TUBITAK-ULAKBIM/CN=XXXXXXXX authorized_for_all_service_commands=/C=TR/O=TRGrid/OU=TUBITAK-ULAKBIM/CN=XXXXXXXX authorized_for_all_host_commands=/C=TR/O=TRGrid/OU=TUBITAK-ULAKBIM/CN=XXXXXXXX authorized_for_all_services=* authorized_for_all_hosts=*
XXXXXXXX yazan kısmı yetkili sertifika sahibi ile değiştirmeyi unutmamak lazım.
Nagios'u başlatmak için önce
/usr/sbin/ndo2db-3x -c /etc/nagios/ndo2db.cfg /etc/init.d/nagios start
komutularını sırasıyla vermek yeterlidir.
Glite Nagios Kurulumu
Glite geliştiricileri tarafından Nagios'a yapılan bazı eklentiler mevcuttur. Bu eklentiler sayesinde belirtilen grid üzerindeki servisler, hesap ve bilgi nodları izlenebilir ve SAM testleri gerçekleştirilebilir.
Bu kısım http://www.gridpp.ac.uk/wiki/UKI_Regional_Nagios temel alınarak hazırlanmıştır.
Öncelikle sunucumuz grid altyapınına baglanabilmek için geçerli sertifikalara sahip olmalıdır. Daha sonrasında aşağıdaki yum repoları /etc/yum.repos.d dizini içerisine eklenmiş olmalıdır.
Nagios'un logları kayıt edecegi veritabanı ve ilgili kullanıcı hesabı yukarıda anlatıldığı gibi oluşturulur. Daha öncesinden UI yapılandırmak için kullandığımız site-info.def dosyasına aşağıdaki eklentiler yapılır.
PX_HOST=myproxy.ulakbim.gov.tr
NAGIOS_HOST=www.grid.org.tr
NCG_NRPE_UI=""
NAGIOS_ADMIN_DNS="/C=TR/O=TRGrid/OU=TUBITAK-ULAKBIM/CN=Sefa Arslan"
MYSQL_ADMIN="USERUSER"
NAGIOS_NSCA_PASS="PASSWDPASSWD"
NAGIOS_NCG_ENABLE_CONFIG=true
NAGIOS_NAGIOS_ENABLE_CONFIG=true
NAGIOS_CGI_ENABLE_CONFIG=true
NAGIOS_HTTPD_ENABLE_CONFIG=true
NCG_GOCDB_ROC_NAME="SouthEasternEurope"
NCG_GOCDB_COUNTRY_NAME="Turkey"
NCG_PROBES_TYPE=remote,local
NAGIOS_DB_HOST=localhost # veritabanı sunucusu
NAGIOS_DB_USER=ndouser # veritabanı kullanıcısı
NAGIOS_DB_PASS=PASSWDPASSWD #veritabanı kullanıcısının parolası
Glite paketi ile gelen Nagios (ve UI) aşağıdaki gibi yüklenir ve yapılandırılır:
yum install lcg-CA glite-PX egee-NAGIOS glite-UI yaim -c -s site-info.def –n glite-PX –n glite-NAGIOS –n glite-UI
SAM testlerini başlatailmek için PX_HOST parametresi belirttiğimiz proxy sunucusundan NAGIOS_ADMIN_DNS ile belirtilen kullanıcı ile rezervasyon yapılır ve nagios yeniden başlatılır.
GRID_AUTHORIZED_RETRIEVERS="<subject of hostcert of nagios server>"
GRID_TRUSTED_RETRIEVERS="<subject of hostcert of nagios server>" #output of 'openssl x509 -in hostcert.pem -noout -subject'
NCG_PROBES_TYPE=remote,native,local
NAGIOS_HOST=gridppnagios.physics.ox.ac.uk
NAGIOS_HTTPD_ENABLE_CONFIG=true
NAGIOS_NCG_ENABLE_CONFIG=true
NAGIOS_NAGIOS_ENABLE_CONFIG=true
NAGIOS_CGI_ENABLE_CONFIG=true
NCG_GOCDB_ROC_NAME=UKI
VOS="ops dteam"
VO_DTEAM_VOMS_SERVERS='vomss://voms.cern.ch:8443/voms/dteam?/dteam/'
VO_OPS_VOMS_SERVERS='vomss://voms.cern.ch:8443/voms/ops?/ops/'





