nagios aĞ yÖnetİm ve İzleme araci hüseyin...

40
T.C İSTANBUL TEKNİK ÜNİVERSİTESİ ENFORMASYON SİSTEMLERİNİN TASARIMI VE YÖNETİMİ NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 1 / 40 NAGIOS AĞ YÖNETİM VE İZLEME ARACI Hüseyin KÖROĞLU 2006 İSTANBUL

Upload: ngoanh

Post on 13-Sep-2018

235 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: NAGIOS AĞ YÖNETİM VE İZLEME ARACI Hüseyin …web.itu.edu.tr/~mscelebi/est566/notlar/Lecture10.pdf · NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 1 / 40 NAGIOS AĞ YÖNETİM VE

T.C İSTANBUL TEKNİK ÜNİVERSİTESİ ENFORMASYON SİSTEMLERİNİN TASARIMI VE YÖNETİMİ

NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 1 / 40

NAGIOS AĞ YÖNETİM VE İZLEME ARACI Hüseyin KÖROĞLU 2006 İSTANBUL

Page 2: NAGIOS AĞ YÖNETİM VE İZLEME ARACI Hüseyin …web.itu.edu.tr/~mscelebi/est566/notlar/Lecture10.pdf · NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 1 / 40 NAGIOS AĞ YÖNETİM VE

T.C İSTANBUL TEKNİK ÜNİVERSİTESİ ENFORMASYON SİSTEMLERİNİN TASARIMI VE YÖNETİMİ

NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 2 / 40

İÇİNDEKİLER

BÖLÜM 1 - NAGIOS NEDİR

BÖLÜM 2- NAGIOS NE İŞE YARAR

BÖLÜM 3- NAGIOS’U KİMLER KULLANMALI

BÖLÜM 4- NAGIOS HANGİ PROGRAMLARLA ORTAK ÇALIŞIR

BÖLÜM 5- NAGIOS KURULUMU VE KULLANIMI BÖLÜM 6- NAGIOS ANA KONFİG DOSYASI NASIL AYARLANIR

BÖLÜM 7- NAGIOS DİĞER KONFİG DOSYALARI NASIL AYARLANIR

BÖLÜM 8- NAGIOS İÇİN STANDART PLUG-IN’LER NEDİR NASIL ÇALIŞIR

Page 3: NAGIOS AĞ YÖNETİM VE İZLEME ARACI Hüseyin …web.itu.edu.tr/~mscelebi/est566/notlar/Lecture10.pdf · NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 1 / 40 NAGIOS AĞ YÖNETİM VE

T.C İSTANBUL TEKNİK ÜNİVERSİTESİ ENFORMASYON SİSTEMLERİNİN TASARIMI VE YÖNETİMİ

NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 3 / 40

Bölüm 1 - Nagios Nedir? Ağ üzerinde bulunan tcp ip tabanlı çalışan , hizmet veren servis ve cihazları monitor etmek için kullanılan bir yazılımdır. Bu yazılım ile bütün aktif cihazlarınızı bir web arayüzünde monitor edebilirsiniz. Networkteki bütün cihazları windows işletim sistemi ayrımı yapmaksızın plug-in’ler sayesinde gözetmesine rağmen nagios sadece unix/linux tabanlı işletim sistemleri üzerine kurulabilmektedir.Plug-in ler aracılığı ile dıştan otomatik komutlar vererek ileride bahsi geçecek host ve servisleri kontrol ederken hata oluşma durumunda yine nagios’un konfig dosyalarına tanımlanmış sistem yöneticisine otomatik mail yada sms gönderebiliyor olacaktır.

Nagios kurulumunu gerçekleştirmek için gerekli kaynaklar aşağıdaki gibidir.

Bu çalışmada Nagios kurulumu , kullanımı , diğer programlarla ortak kullanımı anlatılmıştır.Ortam olarak SUSE Linux 9.3 , Apache web sunucusu , PHP4 , Nagios Sürüm 2.0 kullanılmıştır.

� Boutell gd library ( Grafiksel işlemler.) � png library ( jpeg benzeri update olan trend ve status analizleri gibi ekranları grafik bazda günceller.) � jpeg library ( nagios web arayüzünde ihtiyaç duyulan jpeg library) � zlib � Nagios core ( linux versionuna gore seçiniz) � Nagios plugins ( sunucular üerindeki servisleri control eder ) � basic icons ( nagios ‘ta eriştiğiniz cihazlara ikonlar tanımlayabilirsiniz..)

Bölüm 2 – Nagios ne işe yarar?

- Nagios ve daha ileride bahsi geçecek ortak çalışacağı programlarla birlikte çalışarak Ağ’ınızı gözetmeyi ve ayrıca , güvenlik tehditlerini görmenizide sağlar.

- Servislerde veya iletişimde meyadana gelebilecek kesintilerin ilgililerine otomatik bildirilmesini sağlar. - Servislerin durması halinde nagios’un plug-inler yardımı ile veya el yordamı ile bu servislere müdahale

ederek tekrar devreye almanızı sağlar. - Hizmet aldığınız ISP firmasının size ne kadar sağlıklı hizmet verip vermediğini ölçmenizi sağlar. - Kesintileri ve servislerin sağlıklı çalıştığı zamanları istatistiksel açıdan raporlamanızı sağlar. - Sahadaki noktalarınızı ülkelere illere , ilçelere göre sorumluluları bazında takip etmenizi sağlar. - Bant genişliklerinizi kontrol etmenizi sağlar , ne kadar data alışı verişi olduğunu anlamak için ideal bir

araçtır.Veri akışında anormallikler gördüğünde ( çok yüksek veya çok az programlamanıza göre değişir.) sizi uyarır.

- En kullanışlı özelliği ise; farklı görevler ile farklı görev grupları oluşturabilmenizdir. Örneğin: Test isimli makinenize PING görevi ekleyebilir ve diğer PING edeceği cihazlar grubuna dahil edebilir ve de kendinize durum maili attırabilirsiniz.

Page 4: NAGIOS AĞ YÖNETİM VE İZLEME ARACI Hüseyin …web.itu.edu.tr/~mscelebi/est566/notlar/Lecture10.pdf · NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 1 / 40 NAGIOS AĞ YÖNETİM VE

T.C İSTANBUL TEKNİK ÜNİVERSİTESİ ENFORMASYON SİSTEMLERİNİN TASARIMI VE YÖNETİMİ

NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 4 / 40

Bölüm 3 – Nagios’u kimler kulanmalı ?

- Nagios’u kendisine bağlı bulunan nokta sayısı bir taneden fazla olan ve sisteminde kontrol etmesi gereken en az bir adet ana makinesi olan her kurum yada organizasyon kullanabilir.

- Nagios’un kurulumu ve kullanımı oldukçca kolaydır. - Örneğin 50 noktası olan bir lokasyon düşünülecek olunursa , kontrolünün ne kadar zor olacağıda

düşünülebilinir..Her noktada kontrol edilmesi gereken en az 3 adet aktif cihaz olacağı düşünülür. - ( Router , Switch , Server ) bu aygıtların herbirinin ip adresleri vardır.Bu aktif cihazlar LAN ve WAN

konusunda İletişimi sağlarlar.Sunucu ise lokal kullanıcılara hizmet sağlarken diğer taraftan , merkezi noktadaki sunucularla bağlantı kurar , çeşitli servisler yoluyla içe veya dışa hizmetler sunar.

- Örneğin : iki farklı noktadaki anamakinenin üzerinde çalışan SQL database’lerinin replikasyon yapılması.Veya yine iki uçtaki iki ayrı mail server’ın konnektörler aracılığı ile birbirine bağlanarak bu konnectörler üzerinden SMTP veya X400 mail alıp vermesi .... bunları örnek olarak verebiliriz. Bu hizmetlerin akışını , kontrol etmek çok zor bir iştir.İletişimin kapasitenin ölçümü yine o kadar zor bir iştir.Güvenlik tehditlerini öngörebilmek kolay bir iş sayılmaz.Nagios ve birikte çalıştığı yazılımlar bu tip kurumlara veya organizasyonlara bu soruların yanıtını büyük bir ölçüde vermeye çalışır.

BÖLÜM 4 – NAGIOS’UN ORTAK ÇALIŞABİLDİĞİ UYGULAMALAR VE BAZI ÖZEL PROJELER ( hepsi ücretsiz)Nagios ile birlikte ortak çalışabilen bazı yazılımlar. : RRD TOOL , NMAP SECURITY , MySQL gibi uygulamalarla nagios çok daha fazla işlevler kazanarak yönetimi manul halden otomatik hale gelebiliyor.Örneğin : Aşağıda anlatılacak konfig dosyalarını MySql database’inde tanımlıyor olabilinecek. RRDTOOL ile bütün host ve servisler otomatik algılanabilecek.

NMAP SECURITY ile bu hostların güvenli olup olmadığı , hangi portları tehlikede olduğu gibi konular rahatlıkla nagios arayüzünde web ‘den otomatik takip edilebilinecek.

Bütün bu programları bazen ayrı ayrı içinden çıkılmaz hale gelebileceği doğru sayılabilinir.İşte bazı çalışma grupları bunları birleştirerek bir proje haline getirmişlerdir.

Şuan için bu projelerden en iyileri ; NAGAT ve NAGMIN olarak öngörülmektedir.

Bölüm 5- Nagios Kurulumu ve Kullanımı: Nagios kurulumu için sistem gereksinimleri: Nagios’u kurmadan önce sisteminizde apache web sunucu-su’nun (www.apache.org) kurulu olması ve CGI sayfalarını çalıştırabilmesi için gerekli ayarların httpd.conf dosyasında yapılmış olması gerekmektedir. Bununla birlikte GD Library’lerinde kütüphanenizde kurulu olması gerekmektedir.

(http://www.boutell.com/gd/) GD library ‘si hakkında detaylı bilgi bu siteden alınabilinir.

Not: statusmap ve trends cgi dosyalarının çalışması için GD Library gereklidir.Nagios görsel açıdan çok

Page 5: NAGIOS AĞ YÖNETİM VE İZLEME ARACI Hüseyin …web.itu.edu.tr/~mscelebi/est566/notlar/Lecture10.pdf · NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 1 / 40 NAGIOS AĞ YÖNETİM VE

T.C İSTANBUL TEKNİK ÜNİVERSİTESİ ENFORMASYON SİSTEMLERİNİN TASARIMI VE YÖNETİMİ

NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 5 / 40

gelişmiştir.Bahsi geçen Statusmap , trend servislerin ve hostların çalışır durumda olup olmadığını ne kadar data geçtiğini çizelgelerle sunmaktadır.Kurulum ve aşağıda anlatılanlar Linux işletim sistemi içerisinde yapılır.

1.ön-adım :

Öncelikle nagios’un son sürümü indirilir. Nagios resmi web sitesinden nagiosun ilgili linux işletim sistemi için son surumu indirilmelidir. http://www.nagios.org/download 2.ön-adım :

İndirilen paketin Açılımı ve kurulumunu yapalım. Indirilen paket tar komutu ile aşağıdaki gibi açılır.

tar xzf nagios-version.tar.gz 3.ön-adım :

Kullanıcı Gruplarını Oluşturalım Paketi derledikten sonra nagios isimli bir sistem kullanıcısı eklenir.

adduser nagios 4.ön-adım :

Dizin Oluşturalım Nagios aşağıda görüldüğü gibi /usr/local dizini altında kurulmalıdır. Işlemlerini “nagios” kullancısı tarafından yapacağından bu dizin altına kurulum yapılır. ( nagios dizinlere bağlı çalışan bir programdır.)

mkdir /usr/local/nagios 5.ön-adım :

Yukarıda oluşturulan dizin için nagios kullanıcısına ilgili folder’ın sahiplik yetkisi verilir.

chown nagios /usr/local/nagios 6.ön-adım :

Web Erişim Ayarları

Öncelikle aşağıdaki komut ile Apache sunucusunun yetkilisini görelim:

Page 6: NAGIOS AĞ YÖNETİM VE İZLEME ARACI Hüseyin …web.itu.edu.tr/~mscelebi/est566/notlar/Lecture10.pdf · NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 1 / 40 NAGIOS AĞ YÖNETİM VE

T.C İSTANBUL TEKNİK ÜNİVERSİTESİ ENFORMASYON SİSTEMLERİNİN TASARIMI VE YÖNETİMİ

NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 6 / 40

grep “User” /etc/apache2/conf/httpd.conf

wwwrun kullanıcısı olmalıdır. 7.ön-adım : ( çok gerekli değildir )

Nagios Command Grubu Bu grupu büyük ölçekli firmalarda yada redhat kullanıcılarının kullanılmasında fayda vardır.

/usr/sbin/groupadd nagcmd

( Şart değildir , nagios’u kullandırmak istediğiniz grupları belirlemek içindir.)

Kullanıcı modlarının apache servis yetkilisi ile birleştirilmesi gerekir: /usr/sbin/usermod -G nagcmd wwwrun /usr/sbin/usermod -G nagcmd nagios

1.gerçek-adım :

Şimdi Kuruluma Başlanıyor . . .

Yukarıda tar komutu ile açılan paketin içine girilir . Bu dizinde işlemlere başlamadan önce “.configure” ‘e değineceğiz.

# cd nagios-vers.xy konfigür Edelim . . . ( . /configure nedir ? )

Nagios ‘u kurmadan önce configure komutu ile nagios’un isteklerine cevap verilmelidir.Veya kendi patikalarınızı nagios’a anlatmak durumdasınız.

Bunun anlamı nagios user’ını açtığınızı grubunuzu oluşturduğunuzu GD ve PNG ve diğer paketleri yüklediğinizi cgi ve html url patikalarını açacağınız ana dizini oluşturduğunuzu nagios’unda control etmesi gerekiyor olmasıdır.( ön adımlarda anlatılan şartları sağladığınıza emin olmak için) Bu kontrol sırasında bir hata ile karşılaşmaz iseniz aşağıdaki gibi bir ekranla karşılaşacaksınız.Fakat kurulum konsol ekranı’nı yukarı doğru çıkarak adımlara bakmakta fayda vardır.Karşısında OK görünmeyen dosya yada hizmet için tekrar kurulum yapmak gerekir.

( OK mesajı yoksa birlikte kompile olacağı dosya yada kütüphaneyi bulamamış demektir.Bu kütüphaneyi yada dosyayı kurarak kompile işlemini tekrar etmemiz gerekir)

Sistemimize konfigure etmeye başlıyoruz: Nagios ‘u kompile etmek ne demek : Nagios C ve C++ dilleri ile geliştirilmiş program parçalarından oluşmaktadır.Program kurulacağı işletim sistemindeki (linux olmalı ) bazı sistem kütüphaneleri gibi dosyalara ihtiyaç duyuyor olmasıdır.

Örneğin : C ‘nin stdio.h header dosyası gibi ve buna benzer bir çok header dosyalar ve mod..X .so gibi sistem kütüphanelerine ihtiyaç duyuyor. Kurulum sırasında bu dosyalara neden ihtiyaç duyduğunu listeliyor.( GD ve png kütüphaneleri gibi .. )

Page 7: NAGIOS AĞ YÖNETİM VE İZLEME ARACI Hüseyin …web.itu.edu.tr/~mscelebi/est566/notlar/Lecture10.pdf · NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 1 / 40 NAGIOS AĞ YÖNETİM VE

T.C İSTANBUL TEKNİK ÜNİVERSİTESİ ENFORMASYON SİSTEMLERİNİN TASARIMI VE YÖNETİMİ

NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 7 / 40

./configure—prefix=prefix—with-cgiurl=cgiurl—with-htmurl=htmurl—with-nagios-user=someuser—with-nagios-group=somegroup—with-command-group=cmdgroup • prefix parametresi ile nagios’un kurulacağı dizin yolu belirtilir. (/usr/local/nagios) • cgiurl parametresi ise cgi dosyalarının url adresini belirtir. (usr/local/nagios/cgi-bin) • htmurl parametresi ile web domain ayarlanır. (usr/local/nagios/) • someuser parametresi nagios kullanıcısıdr ve nagios olarak belirtilmelidir. • somegroup parametresi ile nagios va nagcmd ortak grubu belirlenir ve nagios’dur. • cmdgroup parametresine yukarıda dediğim gibi eğer nagcmd grubu ekledi iseniz bu değeri ekleyin. Normalde ise nagios eklenir.

2.gerçek-adım :

make all ( derleme işlemi (compile ) )

Nagios ‘u kompile etmek ne demek : Nagios C ve C++ dilleri ile geliştirilmiş program parçalarından oluşmaktadır.Program kurulacağı işletim sistemindeki (linux olmalı ) bazı sistem kütüphaneleri gibi dosyalara ihtiyaç duymakta olmasıdır.

Örneğin : C ‘nin stdio.h header dosyası gibi ve buna benzer bir çok header dosyalar ve mod..X .so paketleri gibi sistem kütüphanelerine ihtiyaç duyuyor. Kurulum sırasında bu dosyalara neden ihtiyaç duyduğunu listeliyor.( GD ve png kütüphaneleri gibi .. )

# make all

işleminde kompile sonucu istenen bu program parçaları nagios ‘un kurulacağı yukarıdaki verilen patikada dahil olmak üzere ilgili sistem ve program dosyaları ile birlikte HTML / CGI / ANA PROGRAM oluşturarak make skriptini oluşturuyor.

Page 8: NAGIOS AĞ YÖNETİM VE İZLEME ARACI Hüseyin …web.itu.edu.tr/~mscelebi/est566/notlar/Lecture10.pdf · NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 1 / 40 NAGIOS AĞ YÖNETİM VE

T.C İSTANBUL TEKNİK ÜNİVERSİTESİ ENFORMASYON SİSTEMLERİNİN TASARIMI VE YÖNETİMİ

NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 8 / 40

3.gerçek-adım :

Yükleyelim . . . Aşağıdaki komut ile birlikte web arayüzü ve /usr/local/nagios dizinleri gerçek patikalarına kurulacaktır. Normal C programını nasıl ki kompile ettikten sonra ./a.out diyerek çalıştırabiliyorsak , bu program parçalarınıda make install diyerek kurabiliyor olacağız. Kurduğumuzda daha once bahsi geçen ilgili haklarla birlikte ilgili folderlar altına kurulum gerçeklenmiş olacağını ilerleyen aşamalarda hep birlikte görüyor olacağız.

# make install

4.gerçek-adım :

İlk başlama dosyalarnı yükleyelim . . .

Page 9: NAGIOS AĞ YÖNETİM VE İZLEME ARACI Hüseyin …web.itu.edu.tr/~mscelebi/est566/notlar/Lecture10.pdf · NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 1 / 40 NAGIOS AĞ YÖNETİM VE

T.C İSTANBUL TEKNİK ÜNİVERSİTESİ ENFORMASYON SİSTEMLERİNİN TASARIMI VE YÖNETİMİ

NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 9 / 40

Nagiosun düzenli olarak işletim sisteminin açılışından itibaren çalışması için bu komutla rc.d dizini altına nagios script eklenecektir:

# make install-init 5.gerçek-adım :

Dizinleri Tanıyalım . . .

Nagiosun kendi dizini: # cd /usr/local/nagios Bu dizine girdiğinizde aşağıdaki gibi 5 dizin göreceksiniz. Daha ilerleyen aşamalarda plug-in’ler için buraya bir libexec dizini-nin ilave edileceğini göreceğiz. Dizin Açıklama bin/ Nagios’un çalışır script betiklerinin olduğu dizin.( init burayı refer eder.)

etc/ Konfigurasyon ve CGI dosyalarının tutulduğu dizin

sbin/ CGI dosyalarının bulunacağı dizin

share/ HTML Dizini

var/ Log ve status (durum) dosyalarının tutulduğu dizin 6.gerçek-adım : Plug-in’leri indirelim . . .

Nagios’un kurulumdan sonra bazı eklentiler beraberinde gelmemektedir. Bu pluginleri daha ileride bahsi geçecek servis ve host kontrollerinde otomatik bazı işlemlerde işletim sistemleri kontrollerinde kullanacağız.Bu pluginlerin tutulacağı dizin ise /usr/local/nagios/libexec dizini olmalıdır. Plug-inlerin indirileceği yer ise aşağıdaki linkte verilmiştir. http://sourceforge.net/projects/nagilug/

7.gerçek-adım :

/usr/local/nagios dizini altında “mkdir libexec” komutu ile yeni bir dizin oluşturularak indirilen plug-in arşiv dosyası bu dizin altına atılmalıdır.

Plug-in’leri kurmak için Tar komutu ile ( yukarıdaki patika içinde ) bu arşiv dosyası sözü geçen libexec patikası içerisine açılmalıdır.Açılan klasör’ün içerisine girilip ./configure ve make all komutları sırası ile bir çaba sarf etmeden aynen verilmelidir.Bir çok plug-in nagios’un kulllanımına hazırdır.

Page 10: NAGIOS AĞ YÖNETİM VE İZLEME ARACI Hüseyin …web.itu.edu.tr/~mscelebi/est566/notlar/Lecture10.pdf · NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 1 / 40 NAGIOS AĞ YÖNETİM VE

T.C İSTANBUL TEKNİK ÜNİVERSİTESİ ENFORMASYON SİSTEMLERİNİN TASARIMI VE YÖNETİMİ

NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 10 / 40

8.gerçek-adım :

Web Arayüzünü Ayarlayalım ( Nagios için olmazsa olmaz denilebilecek en önemli koşuldur.)

Apache ayar dosyası olan httpd.conf dosyası açılarak aşağıdaki satırlar eklenmelidir. ( Apache config dosyası /usr/local/apache2/conf altındadır. )

Httpd.conf dosyası Apache’nin farklı sürümleri kullanılıyorsa , farklı patikalada olabilir.Fakat temel olarak aşağıdaki satırların default-server.conf veya httpd.conf veya httpd2.conf dosyasına yazılması şarttır.Default-server.conf kullanılacaksa , httpd.conf veya httpd2.conf dosyasında include default-server.conf satırı verilmelidir.

ScriptAlias /nagios/cgi-bin /usr/local/nagios/sbin <Directory “/usr/local/nagios/sbin”> Options ExecCGI AllowOverride None Order allow,deny Allow from all AuthName “Nagios Access” AuthType Basic AuthUserFile /usr/local/nagios/etc/htpasswd2.users Require valid-user </Directory> Alias /nagios /usr/local/nagios/share <Directory “/usr/local/nagios/share”> Options None AllowOverride None Order allow,deny Allow from all AuthName “Nagios Access” AuthType Basic AuthUserFile /usr/local/nagios/etc/htpasswd2.users Require valid-user </Directory> Satır ekleme işlemi bittikten sonra ;

# ./usr/local/apache2/bin/httpd –k restart komutu verilerek apache web sunucusu yeniden başlatılır.

Bu komut apache versiyonuna göre değişiklikler gösterebilir. Ör: / # httpd2 –k restart kullanılabilen apache versiyonlarıda vardır.

# httpd –l ile apache üzerine yüklü olan modülleri kontrol edin. Aralarında mutlaka mod_cgi.c dosyası bulunmalıdır. ( nagios için şiddetle bu olmalıdır.)Aksi takdirde uzun süreler nagios linux’ta çalışır fakat ekran görüntüsünü web arayüzünden alamazsınız.

ip ucu : Bunun için Suse Linux’un 9.3 versiyonu ile birlikte gelen Apache sunucusu denenmiş başarılı olunamamıştır.Bunun yerine Apache server version = 2.0.55 kullanılarak sorun aşılmıştır.

Page 11: NAGIOS AĞ YÖNETİM VE İZLEME ARACI Hüseyin …web.itu.edu.tr/~mscelebi/est566/notlar/Lecture10.pdf · NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 1 / 40 NAGIOS AĞ YÖNETİM VE

T.C İSTANBUL TEKNİK ÜNİVERSİTESİ ENFORMASYON SİSTEMLERİNİN TASARIMI VE YÖNETİMİ

NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 11 / 40

Kurulum başarı ile tamamlanmıştır . . .

Web arayüzü test edilir . . .

http://makineip/nagios/ adresi interner tarayıcısının adres satırına girilerek nagios nagios’un web arayüzü karşılanır.

http://seninbilgisayarın/nagios/cgi-bin/ adresi ise libexec altındaki cgi dosyalarının çalıştığı satırdır. Apache serverda ilgili tanmlar “alias satırları” buraya refere olunulmasını sağlayacaktır.

Kurulum sırasında dikkat edilmesi gerekenler: 1. Nagios dizinlere bağlı çalışır. Bu nedenle /usr/local/nagios dizinine default olarak kurulum yapılmalıdır. 2. libexec dosyası /usr/local/nagios/ altında olmalıdır.

Naigos Ayarları:

Ayarlama adım 1 :

Öncelikle cd /usr/local/nagios/ dizini altına gidilir.

Burada /bin adlı dizinin içerisine girilir.

usr/local/nagios/bin # ls nagios* nagiostats*

Dosyaları görülüyor olmalıdır.

Ayarlama adım 1 :

Nagiosu hiç başlatmadan aşağıdaki ayarlamalar yapılmalıdır: htpasswd -c /usr/local/nagios/etc/htpasswd2.users nagios ( htpasswd yada htpasswd2.users olması çok önemli değildir. 8.gercek adım’la uyuşması yeterlidir.) Bu komutla nagios’u web arayüzünden yönetecek olan bir kullanıcı eklemiş olduk.htpasswd dosyası apache için md5 encrypt password üreten bir tool’dur.İlgili dosya içerisinde password’ü göremezsizin kriptolanmıştır.

Ayarlama adım 2 :

Sonrasında /usr/local/nagios/etc altındaki nagios.cfg dosyasında;

use_authentication=1 değer bulunarak ve parametre karşılığının 1 olduğundan emin olunulur.

Page 12: NAGIOS AĞ YÖNETİM VE İZLEME ARACI Hüseyin …web.itu.edu.tr/~mscelebi/est566/notlar/Lecture10.pdf · NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 1 / 40 NAGIOS AĞ YÖNETİM VE

T.C İSTANBUL TEKNİK ÜNİVERSİTESİ ENFORMASYON SİSTEMLERİNİN TASARIMI VE YÖNETİMİ

NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 12 / 40

Ayarlama adım 3 :

nagios.cfg dosyası tamamı ile okunmalı ve gerekli izin/erişim ayarları yapılmalıdır.

Nagios.cfg dosyası içerisinde; cfg_file=/usr/local/nagios/etc/contactgroups.cfg cfg_file=/usr/local/nagios/etc/contacts.cfg cfg_file=/usr/local/nagios/etc/dependencies.cfg cfg_file=/usr/local/nagios/etc/escalations.cfg cfg_file=/usr/local/nagios/etc/hostgroups.cfg cfg_file=/usr/local/nagios/etc/servicegroups.cfg cfg_file=/usr/local/nagios/etc/hosts.cfg cfg_file=/usr/local/nagios/etc/services.cfg cfg_file=/usr/local/nagios/etc/timeperiods.cfg cfg_file=/usr/local/nagios/etc/hostextinfo.cfg Bu satırları bulunur ve başında # işareti var ise kaldırılır. Bu dosyalar nagios kurulumunda /usr/local/nagios/etc/ altında örneklerini (sample-ile başlar) oluşturacaktır.gerekli yetkilendirmeler ve servisleri bu dosyalara yazılacaktır.Bu dosyalar ve nagios.cfg dosyası ilerleyen safhalarda geniş bir şekilde anlatılacaktır. Ayarlama adım 4 :

/usr/local/nagios/bin/ dizini altında aşağıdaki komut verilerek konfigurasyon dosyası control edilir.Herhangi bir hata verdiğinde bu hatayı gidermek gerekir.(hatalı konfig dosaysını bu komut bildirecektir.)

#./nagios –s /usr/local/nagios/etc/nagios.cfg Nagios’u başlatalım . . .

# /etc/rc.d/nagios start komutunu verilerek nagios başlatılır.

Bir adet warning alınır. Bunun çözümü için /home/nagios folder’ı yaratılır.

Komut tekrarlanır # /etc/rc.d/nagios –start problemsiz çalıştığı anlaşılır. http://localhost/nagios yazılarak daha öncede test edilen linke girilir.

Giriş için htpasswd komutu ile oluşturulan nagios kullanıcısı ve şifresini kullanabilirsiniz.

Page 13: NAGIOS AĞ YÖNETİM VE İZLEME ARACI Hüseyin …web.itu.edu.tr/~mscelebi/est566/notlar/Lecture10.pdf · NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 1 / 40 NAGIOS AĞ YÖNETİM VE

T.C İSTANBUL TEKNİK ÜNİVERSİTESİ ENFORMASYON SİSTEMLERİNİN TASARIMI VE YÖNETİMİ

NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 13 / 40

Bölüm 6- NAGIOS ANA KONFİG DOSYASI NASIL AYARLANIR

( NAGIOS.CFG )

# NAGIOS.CFG DOSYASINI TANIYALIM…

# NAGIOS’UN ÇALIŞTIRILMASI İÇİN NAGIOS ANA KONFIG DOSYASINDA YAPILMASI

# GEREKENLER VE BU YAPILANLARIN NE ANLAMLARA GELDIKLERİNİ AŞAĞIDAKİ

# ÇALIŞMADA ÖĞRENECEĞİZ.

# BUNUNLA BİRLİKTE BU DOSYA AYNI ZAMANDA ANA KONFIG DOSYASI OLARAK ÇALIŞMAYA # DEVAM EDECEKTIR.KULLANICI DEĞİŞİKLİK YAPMAK İSTERSE , BUNU RAHATLIKLA # YAPABİLECEKTİR.BU NEDENLE HER CÜMLENİN BAŞINDA NAGİOS’UN ÇALIŞIRKEN # GÖRMEZDEN GELECEĞİ “#” İŞARETİ KULLANILMIŞTIR. # LOG FILE # Ana log dosyası servislerin ve tanımlanan (host) ‚ların hareketlerinin geçmişteki bilgilireri tutmayı # amaçlar.Bu seçenek konfig dosyasında ilk satırda tanımlanmıştır. log_file=/usr/local/nagios/var/nagios.log # OBJE KONFIGURASYON DOSYASI (LARI) # Bu kofigürasyon dosyaları ( host,group,contacts,contact groups,services ) vb ... objelerin tanımlanma ve # atanma işlemlerini yaparlar.Bu objelerin tanımlamaları bir tek doyasa yapılabilineceği gibi her biri için # ayrı ayrı konfigürasyon dosyalarıda atanabilir.( Daha faydalı ve ayrılması , ayar yapılması daha kolay olur.) # Nagios ayarlanmış bu bu konfigürasyon dosyalarını okuyarak proses edecektir. # (istenirse komut ayarlamalarını bu konfigürasyon dosyasında bırakılabilinir.Host ve Contact # konfigürasyon dosyalarını ayrı ayrı saklanabilinir.) # PLUG-IN KOMUTLARI ( servis ve host kontrol komutları )

# Nagios için sağlanan plug-in’lerde kullanılan argümanlar değişiktir.Böyle olmasına rağmen # istenirse pluginlerle sağlanan aynı konfig dosyasıda kullanılabilinir.Nagios tarafından sağlanan bir # tane konfig dosyası kullanmak şart değildir.Ayarlarımızı aşağıdaki dosyaların içerlerine anlamlı bir # bölümleme yoluyla oluşturabiliriz.Bolumlenen bu dosyaları main konfig nagios.cfg dosyasına # aşağıdaki gibi tanımınlamak gerekmektedir. # KONFİGÜRASYON DOSYALARININ ANA KONFİGÜRASYON DOSYASINA BİLDİRİLMESİ # Bu dosyalar ana konfig dosyası ile aynı dizinde yada bir başka dizinde olabilir veya aşağıdaki # başlılarda daha detaylı verilmiştir. Bu konfig dosyalarını konfig dosyalarını tanıyalım bölümünde çok # daha detaylı görüyor olacağız. cfg_file=/usr/local/nagios/etc/Command.cfg cfg_file=/usr/local/nagios/etc/Contact.cfg cfg_file=/usr/local/nagios/etc/ContactGroup.cfg cfg_file=/usr/local/nagios/etc/ContactTemplate.cfg cfg_file=/usr/local/nagios/etc/Host.cfg cfg_file=/usr/local/nagios/etc/HostDependency.cfg

Page 14: NAGIOS AĞ YÖNETİM VE İZLEME ARACI Hüseyin …web.itu.edu.tr/~mscelebi/est566/notlar/Lecture10.pdf · NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 1 / 40 NAGIOS AĞ YÖNETİM VE

T.C İSTANBUL TEKNİK ÜNİVERSİTESİ ENFORMASYON SİSTEMLERİNİN TASARIMI VE YÖNETİMİ

NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 14 / 40

cfg_file=/usr/local/nagios/etc/HostEscalation.cfg cfg_file=/usr/local/nagios/etc/HostGroup.cfg cfg_file=/usr/local/nagios/etc/HostGroupEscalation.cfg cfg_file=/usr/local/nagios/etc/HostTemplate.cfg cfg_file=/usr/local/nagios/etc/Service.cfg cfg_file=/usr/local/nagios/etc/ServiceDependency.cfg cfg_file=/usr/local/nagios/etc/ServiceEscalation.cfg cfg_file=/usr/local/nagios/etc/ServiceTemplate.cfg cfg_file=/usr/local/nagios/etc/TimePeriod.cfg # KONFİGÜRASYON DOSYALARININ ANLAMLI BİR ŞEKİLDE BİRLEŞTİRİLEREK KULLANIMI # Daha önce yukarıda bahs edilmiştir.Aşağıdaki konfigürasyon yöntemlerinden diğer bir tanesidir. # Anlamı ; bir çok Xdependencies.cfg Ydependencies.cfg dosyası olabilir.Bu dosyaları sadece bir tane # dependencies.cfg dosyası altında tutmamız mümkündür. #cfg_file=/usr/local/nagios/etc/contactgroups.cfg #cfg_file=/usr/local/nagios/etc/contacts.cfg #cfg_file=/usr/local/nagios/etc/dependencies.cfg #cfg_file=/usr/local/nagios/etc/escalations.cfg #cfg_file=/usr/local/nagios/etc/hostgroups.cfg #cfg_file=/usr/local/nagios/etc/hosts.cfg #cfg_file=/usr/local/nagios/etc/services.cfg #cfg_file=/usr/local/nagios/etc/timeperiods.cfg # Host veya servislerin bilgilerini daha geniş anlamda tutmak mümkündür.Bunu için istenirse aşağıdaki # gibi farklı obje tanımlama dosyaları kullanılabilinir. #cfg_file=/usr/local/nagios/etc/hostextinfo.cfg #cfg_file=/usr/local/nagios/etc/serviceextinfo.cfg # NAGIOS DOSYALARININ KLASÖRLER ALTINDA TUTULMASI # Bununla birlikte nagios yukarıda bahsi geçen konfigürasyon dosyalarını proses ederken # istenirse anlamlı klasörler oluşturularak bu dosyaları bu klasörler altından okuması sağlanabilir. # Veya konfig dosyalarının isimleri değişik verilebilinir. #cfg_dir=/usr/local/nagios/etc/servers #cfg_dir=/usr/local/nagios/etc/printers #cfg_dir=/usr/local/nagios/etc/switches #cfg_dir=/usr/local/nagios/etc/routers # OBJELERİN TUTULDUĞU KAŞE DOSYASI ( CACHE FILE ) # Bu seçenekle nagios kapatılı açıldığında son yapılan ayarlardaki değişikliklerin nereye kayıt olacağı yeri # gösterir.. CGI’lar objeleri bu dosya’dan okur.(Objelerin konfig edildiği dosyalara nadiren bakar) # Nagios’u başlattıktan sonraki Konfig dosyalarında değişiklik yapılmışsa bunları saklar.Tutarsızlıkları # korur. object_cache_file=/usr/local/nagios/var/objects.cache

Page 15: NAGIOS AĞ YÖNETİM VE İZLEME ARACI Hüseyin …web.itu.edu.tr/~mscelebi/est566/notlar/Lecture10.pdf · NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 1 / 40 NAGIOS AĞ YÖNETİM VE

T.C İSTANBUL TEKNİK ÜNİVERSİTESİ ENFORMASYON SİSTEMLERİNİN TASARIMI VE YÖNETİMİ

NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 15 / 40

# KAYNAKLARIN TANIMLANDIĞI DOSYA # Bu opsyonel bir kaynak dosyasıdır.Bu dosya $USERX$ gibi kullanıcılar için macro tanımlar içerir. # Çoku kaynak tanımla dosyası yoluyla bir çok kaynak doyası tanımlanabilir. # CGI’lar kaynak dosyaların içerisindeki herşeyi okumayacaklardır. # Bilgiler CGI’larca düzenli bir akış içerisinde okunabilir. Örneğin : ( usernames, passwords vb. .) # Bu dosya içinde ksıtlayıcı haklar ( 600 ) vb .. kullanıcılar için macrolar ile yapılabilir. resource_file=/usr/local/nagios/etc/resource.cfg # DURUM DOSYASI # Gözlemleri yapılan Servisler ve Host’ların Mevcut durumlarının tutulduğu son durum dosyasıdır. # İçindekiler CGI’larca okunur ve işlenir. # Nagios her kapatılıp açıldığında bu dosya içindekilerle birlikte bu dosya silinecektir. status_file=/usr/local/nagios/var/status.dat # NAGIOS KULLANICISI # Nagios’un daha efektif çalışması için bir kullanıcı ile yönetilmesi gerekir.Varsayılanda nagios tanımlıdır. # İsteğe bağlı olarak nagios’u kullanmak isteyenler kullanıcı adı ve kullanıcı ID ‘sini kendisinin isteyeceği # şekilde oluşturarak kullanabilir. nagios_user=nagios # NAGIOS GRUP # Bunun anlamı nagios’un kurulumu sırasında ./configure kısmında anlatılan grup ile ilişkilidir.Naigos’u # sürekli kullanacak kişiler için bir grup oluşturmak sözkonusu olabilecektir. # Grup ismi yada grup id ‘si kullanılabilinir. nagios_group=nagios # DIŞ KOMUT OPSIYONU # Bu opsiyonla nagios’ta tanımlanmasada dış komut ile nagios check işlemini yapabilecektir. # (Yukarıda tanımlanan komut dosyası ile ). Nagios varsayılan’da dış komutları kontrol etmez.Daha # dikkatli olmak için , çünkü dışarıdan tehlikeli komutlar gönderilebilinir. # Eğer CGI arayüzü ile bir komutu dışarıdan verilmesi istenirse , aşağıdaki değer 0 iken 1 yapılmalıdır. # Özetle bu komut ile bir servis durduğunda şu işlemi gerçekleştir , dış komutu gönderilebilinir. check_external_commands=0

Page 16: NAGIOS AĞ YÖNETİM VE İZLEME ARACI Hüseyin …web.itu.edu.tr/~mscelebi/est566/notlar/Lecture10.pdf · NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 1 / 40 NAGIOS AĞ YÖNETİM VE

T.C İSTANBUL TEKNİK ÜNİVERSİTESİ ENFORMASYON SİSTEMLERİNİN TASARIMI VE YÖNETİMİ

NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 16 / 40

# DIŞ KOMUTLARIN ÇALIŞMA ARALIKLARI # Bu tanımlama nagios’un dış komutları hangi aralıklarda kontrol edeceğini tanımlar. # Bu tanımlamalar nagios çalıştıktan sonrada yapılabilinir. # Varsayılan’da 60(saniye), ‘de çalışacaktır. # Nagios her 60 saniyede bir kez dış komutu kontrol edecektir.Eğer aşağıdaki rakamları ( ör: 15s) # saniyede bir çalışacaktır. # Not(1) : İlave olarak dış komutlar dosyası belli zaman aralıklarında düzenli olarak # çalıştığında nagios bu komutların olaylarını kontrol edecektir. # Not(2): Ayarın değeri -1 yapıldığında Nagios dış komut dosyalarını çok sık kontrol edecektir. #command_check_interval=1 #command_check_interval=15s command_check_interval=-1 # DIŞ KOMUT DOSYASI # Bu doysa dış komut dosyalarının isteklerini nagios’un kontol etmesi için vardır. # Kullanıcılar tarafından gönderilen komutların nereden geldiğini CGI ile dosya’ya yazacaktır. # Bunun için bu dosya yazılabilir olmalıdır.Kullanıcı web sunucusu üzerinden çalaşacağı için # (genellikle ‘yetkisiz’). Yetkiler dosyalar değil dizinler seviyesinde verilmelidir. # Kullanıcının yapacağı her proses’de dosya içeriğinin silineceği bilinmelidir. command_file=/usr/local/nagios/var/rw/nagios.cmd # KOMUT DOSYASI # Nagios host ve servislerin komutlarını bu dosyada saklayacaktır. comment_file=/usr/local/nagios/var/comments.dat # DÜŞME ZAMANI DOSYASI # Kontrol dilen hatların , servislerin vb.. kontrollerin cevap verememe durumunda hattan düşmesi # anlamına gelecektir.Nagios bu düşme zamanlarını ve servisleri , hatların isimlerini bu dosyada # saklayacaktır. downtime_file=/usr/local/nagios/var/downtime.dat # KİLİT DOSYASI # Nagios deamon mod ‘la çalışan bazı kontroller pid numaraları oluşturacaktır. ( Ör: ping komutu ) çalışan # bu komutların proses id ‘leri olaşacaktır.Bu proses id’leri nagios bu dosyada saklayacaktır. lock_file=/usr/local/nagios/var/nagios.lock

Page 17: NAGIOS AĞ YÖNETİM VE İZLEME ARACI Hüseyin …web.itu.edu.tr/~mscelebi/est566/notlar/Lecture10.pdf · NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 1 / 40 NAGIOS AĞ YÖNETİM VE

T.C İSTANBUL TEKNİK ÜNİVERSİTESİ ENFORMASYON SİSTEMLERİNİN TASARIMI VE YÖNETİMİ

NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 17 / 40

# GEÇİCİ DOSYA # Nagios durum log’unu ( status log ) güncellerken , komut dosyasısı temizlerken vb .. bu dosya oluşacak , # ve o an için hizmetlerin aksamaması için bu dosya kullanılacaktır.Nagios çalışmaya devam edecektir. temp_file=/usr/local/nagios/var/nagios.tmp # OLAY DURDURMA OPSİYONU # Kontroller (eğer varsa) olay bilgilerini getirirler olay opsiyonuna göndermek için. # Değer : 0 = Hiçbir şeyi olay kabul etme. # -1 = Herşeyi olay kabul et. # <diğer> = dökümantasyona bakınız. event_broker_options=-1 # LOG DOSYASINA DÖNÜŞ METODU # Nagios ana log dosyasını bu dosyanın directivleri ile kullanacaktır. # Aşağıdaki değerlerler kulanılabilinir. # n = None – log dosyasına dönmeyecek. # h = Hourly rotation (saatlik) # d = Daily rotation (her gece yarısı ) # w = Weekly rotation (Cumartesi gece yarısı) # m = Monthly rotation (ayın ortasındaki gece yarısı) log_rotation_method=d # LOG ARŞİV YOLU # Bu dosya yukarı anlatılan log rotasyon ile birlikte güncellenen daha önceleri oluşmuş dosyaların nerde # arşivleneceği bilgisidir. log_archive_path=/usr/local/nagios/var/archives # LOGLAMA OPSİYONLARI # Eğer istenirse mesajlar syslog yeteneği kullanılarak loglanabilir. # NetAlarm log dosyası bu opsiyonlara getirilirse “1” olursa çalışacaktır.“0” olursa çalışmayacaktır. use_syslog=1 # ANONS LOGLAMA OPSİYONU # Notificsyonlarında ayrıca loglanması istenmiyorsa bu opsiyon 0 yapılır. # istenirse 1 olarak bırakılır. log_notifications=1 # SERVİSLERİN DENEME SÜRESİNCE LOGLANMASI OPSİYONU # Bunun anlamı servisleri sürekli kontrol eden tanımlamalarımız gereği olumsuz bir ilerleme olduğunda # bunun loglanmasıdır.Buna göre aşağıdaki değer “1” olursa açık “0” olursa kapalı olduğu varsayılacaktır. log_service_retries=1

Page 18: NAGIOS AĞ YÖNETİM VE İZLEME ARACI Hüseyin …web.itu.edu.tr/~mscelebi/est566/notlar/Lecture10.pdf · NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 1 / 40 NAGIOS AĞ YÖNETİM VE

T.C İSTANBUL TEKNİK ÜNİVERSİTESİ ENFORMASYON SİSTEMLERİNİN TASARIMI VE YÖNETİMİ

NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 18 / 40

# HOST DENEME SÜRESİNCE LOGLANMASI OPSİYONU # Bunun anlamı host’ları sürekli kontrol eden tanımlamalarımız gereği olumsuz bir ilerleme olduğunda # bunun loglanmasıdır.Buna göre aşağıdaki değer “1” olursa açık “0” olursa kapalı olduğu varsayılacaktır. log_host_retries=1 # OLAY SORUMLUSU DENEME SÜRESİNCE LOGLANMASI OPSİYONU # Bunun anlamı olay sorumlusunun tanımlamalarımız gereği sürekli kontrol ettiği olaylarda , olumsuz bir # ilerleme olduğunda bunun loglanmasıdır.Buna göre aşağıdaki değer “1” olursa açık “0” olursa kapalı # olduğu varsayılacaktır. log_event_handlers=1 # BAŞLAMA DURUMU LOGLAMA OPSİYONU # If you want Nagios to log all initial host and service states to # İsteğe bağlı olarak host ve servislerin başlama durumlarını ana log dosyasına loglayacaktır. # (ilk önce servis ve hostları kontrol edecektir.) # Bu opsiyon seçeneklerden 1 yapılarak açılabilir. Eğer dıştan çalışan uygulamalar kullanılmayacaksa ,bu # opsiyonu açmaya ihtiyaç yoktur. # istatistiği raporlarken uzun zaman sürecektir. # Bu durumda değer “0” olarak bırakılmalıdır. log_initial_states=0 # DIŞ KOMUTLAR LOGLAMA OPSİYONU # Eğer nagios’un dış komutların ne yaptığı ile ilgilenmesi istenmiyorsa değer “0” olarak değiştirilir. # Eğer dış komutların log’lanması istenirse değer “1” olarak değiştirilir. # Not : bu opsiyon pasif servis kontrolünü içermez. log_external_commands=1 # PASİF KONTROLLER LOGLAMA OPSİYONU # Eğer nagios ‘un host ve servislerin pasif kontrolünü yaparken loglama yapması istenmiyorsa değer “0” # olarak değiştirilir.Loglama yapması istenirse değer “1” olarak değiştirilir. # Bunun anlamı daha önce kontrol edilmiş ama henüz çalışmayan bir servisini veya host’un kontrol’ünün # yapılım yapılmadığı log’lamasıdır.Kontrol yapıldıktan sonraki sonuç değildir.Sonuç’la nagios’un diğer # bileşenleri ilgilenir. log_passive_checks=1 # GENEL HOST VE SERVİS OLAY SORUMLULARI # These options allow you to specify a host and service event handler # Bu opsiyonlar host ve olay sorumulularının komut kullanım izinlerini düzenler. # öyleki bu komutlar host ve servislerin her durum değiştirmesi halinde çalışıyor olacaktır. # Genel olay sorumlusu olayın sorumluluk önceliğine göre hemen devreye girecektir. # Bunu her host veya serviste opsiyonel olarak ayarlamak mümkündür. # Bir komut tanımlamasında komut argümanı kısa isimlerden oluşmalıdır. # Bunu ilgili host veya servisin konfigürasyon dosyasında tanımlarız. # Daha fazla bilgi almak için HTML dökümantasyonuna bakınız. #global_host_event_handler=somecommand #global_service_event_handler=somecommad

Page 19: NAGIOS AĞ YÖNETİM VE İZLEME ARACI Hüseyin …web.itu.edu.tr/~mscelebi/est566/notlar/Lecture10.pdf · NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 1 / 40 NAGIOS AĞ YÖNETİM VE

T.C İSTANBUL TEKNİK ÜNİVERSİTESİ ENFORMASYON SİSTEMLERİNİN TASARIMI VE YÖNETİMİ

NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 19 / 40

# SERVİS SIRALI KONTROL BEKLEME METODU ( SERVİS INTER-CHECK DELAY METHOD ) # Nagios servis kontrollerini izlemeye başladığında bu method ile işi yayarak yapabilir. # Varsayılanda akıllı erteleme hesaplayıcısını kullanır. # Akıllı hesaplama ile başlangıçta tarafsızca bütün servisler kontrol edilerek işlemcü yükü daha düşük hale # getirilir. # Dumb tarifinde ise , aynı anda tariflenmiş kontroller set edilmiş olabilir.(birbirlerini bekleyerek 1 saniye # sonra çalışan ) # Bu sorun yaratacağı düşünülerek (dumb setting ) gibi bir ayarlama yerine akıllı erteleme # fonksiyonu düşünülmüştür.Bu iyi bir akış getirmesinin yanısıra paralel # çalışabilme fonksiyonalitesi getirmiştir. # Aşağıda “n” ile ifade edilen notasyonda ise bir iş bittiğinde diğrerinin başlaması gibi bir durum halinde # kullanılmaktadır. # n = None - don’t use any delay between checks # d = Use a “dumb” delay of 1 second between checks # s = Use “smart” inter-check delay calculation # x.xx = Use an inter-check delay of x.xx seconds service_inter_check_delay_method=s # MAKSİMUM SERVİS KONTROL DAĞILIMI # Programın başlangıcından itibaren aldığı değişkenlere göre bütün servisleri algılaması ve çalıştırması # toplam 30 dakika içerisinde tamamlanacağı düşünülmüştür.Bu isteğe bağlı olarak servis veya kontrol edeceğiniz # cihaz sayısına göre değiştirilebilinir. max_service_check_spread=30 # SERVİS KONTROLLERİNİ BÖLÜMLEME FAKTÖRÜ ( INTERLEAVE ) # Bu değişken servisleri nasıl bölümleyeceğimiz konusunda karar verilmesini sağlar. # Bu bölümleme uzak bilgisayardaki yükün azaltılması için dağıtık servis kontrolünü sağlar. # Nagios’un eski versiyonunda ayarlamalar sırasında 0.0.5 ile bu yapılırdı.Bu versiyonunda ise 1 ile yapılır # Yine daha önce bahsi geçen akıllı hesaplama yöntemi buradda geçerlidir.Seçeneklerden “s” seçilerek # bu sağlanabilir. # s = Akıllı servis bölümleme faktörünü kullanmak için # x = rakamın 1 ‘den büyük veya eşit olma durumunda kullanılacak bölümleme faktörü service_interleave_factor=s # HOST SIRALI KONTROL BEKLEME METODU ( HOST INTER-CHECK DELAY METHOD ) # Nagios host kontrollerini izlemeye başladığında bu method ile işi yayarak yapabilir. # Varsayılanda akıllı erteleme hesaplayıcısını kullanır. # Akıllı hesaplama ile başlangıçta tarafsızca bütün servisler kontrol edilerek işlemcü yükü daha düşük hale # getirilir. # Dumb tarifinde ise , aynı anda tariflenmiş kontroller set edilmiş olabilir.(birbirlerini bekleyerek 1 saniye # sonra çalışan ) # Bu sorun yaratacağı düşünülerek (dumb setting ) gibi bir ayarlama yerine akıllı erteleme # fonksiyonu düşünülmüştür.Bu iyi bir akış getirmesinin yanısıra paralel # çalışabilme fonksiyonalitesi getirmiştir. # Aşağıda “n” ile ifade edilen notasyonda ise bir iş bittiğinde diğrerinin başlaması gibi bir durum halinde # kullanılmaktadır.

Page 20: NAGIOS AĞ YÖNETİM VE İZLEME ARACI Hüseyin …web.itu.edu.tr/~mscelebi/est566/notlar/Lecture10.pdf · NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 1 / 40 NAGIOS AĞ YÖNETİM VE

T.C İSTANBUL TEKNİK ÜNİVERSİTESİ ENFORMASYON SİSTEMLERİNİN TASARIMI VE YÖNETİMİ

NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 20 / 40

# n = None - don’t use any delay between checks # d = Use a “dumb” delay of 1 second between checks # s = Use “smart” inter-check delay calculation # x.xx = Use an inter-check delay of x.xx seconds host_inter_check_delay_method=s # MAKSİMUM HOST KONTROL DAĞILIMI # Programın başlangıcından itibaren aldığı değişkenlere göre bütün host’ları algılaması ve çalıştırması # toplam 30 dakika içerisinde tamamlanacağı düşünülmüştür.Bu isteğe bağlı olarak host veya kontrol edeceğiniz # cihaz sayısına göre değiştirilebilinir. max_host_check_spread=30 # MAKSİMUM AYNI ANDA SERVİS KONTROLLERİ # Bu opsiyonla istenen bir zamanda bir çok servis kontrolünü paralel olarak yapılmasına izin verir. # Değeri 1 olarak ayarlanırsa ana servisler korunurken diğer herhangi servis paralel olarak kontrol # edilecektir. # Diğer taraftan değer 0 olarak ayarlanırsa aynı anda servis kontrolüne izin verilmeyecektir. # Bu opsiyonun yukarıda bahsi geçen aynı anda kontröllerle ilgilisi yoktur.Aynı anda çalışan aynı # servislerden bahs edilmektedir.( Ör: İki NT sunucusunun IIS servisleri kontrol ediliyo olsun.) max_concurrent_checks=0 # SERVİS KONTRÖLÜ TEMİZLEME FREKANSI ( reaper ( TR means )= toplayıcı , orakcı ) # Bu zaman aralığında ( saniye ) kontrol edilmiş servislerin sonuçlarını nagios’un işlemesi sağlanacaktır. service_reaper_frequency=10 # OTOMATİK ZAMANLAMA OPSİYONU # Bu opsiyonla host ve servis kontrollerini zamanı dolmuş olsa bile daha geniş hareket ederek yeniden # zamanlayarak kontrol etmesini sağlar. # Böylece izleme sunucusunun üstündeki yükü eşitlemesine yardımcı olur. # DİKKAT: BU TECRÜBE GEREKTİREN İYİ BİR OPSİYONDUR.YANLIŞ KULLNILDIĞINDA # PERFORMANSI YÜKSELTMEK YERİNE DAHA FAZLA DÜŞÜREBİLİR. auto_reschedule_checks=0 # OTOMATİK ÇALIŞMA ARALIĞI ZAMANLAMA OPSİYONU # Bu opsiyon nagios’un otomatiok olarak kontrol etme zamanını yeniden zamanlayarak çalışma aralığı # sıklığına karar vermesini sağlar.Bu opsiyon sadece otomatik zamanlama opsiyonu devrede olduğu # zaman aktif hale gelir. # Varsayılanda 30 saniye olarak gelir. # DİKKAT: BU TECRÜBE GEREKTİREN İYİ BİR OPSİYONDUR.YANLIŞ KULLANILDIĞINDA # PERFORMANSI YÜKSELTMEK YERİNE DAHA FAZLA DÜŞÜREBİLİR. auto_rescheduling_interval=30 # AUTO-RESCHEDULING WINDOW # Nagios kontrolleri yaprken otomatik olarak yeniden zamanlama yaptığında (pencereleri) # Host ve servis hareketlerini x saniyede güncelleneceğine bu opsiyonla karar verir. # Bu opsiyon sadece otomatik yeniden zamanlama opsiyonu devrede olduğu

Page 21: NAGIOS AĞ YÖNETİM VE İZLEME ARACI Hüseyin …web.itu.edu.tr/~mscelebi/est566/notlar/Lecture10.pdf · NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 1 / 40 NAGIOS AĞ YÖNETİM VE

T.C İSTANBUL TEKNİK ÜNİVERSİTESİ ENFORMASYON SİSTEMLERİNİN TASARIMI VE YÖNETİMİ

NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 21 / 40

# zaman aktif hale gelir. (auto_reschedule_checks aktif olmalı ) # Varsayılanda 180 saniye olarak gelir. # DİKKAT: BU TECRÜBE GEREKTİREN İYİ BİR OPSİYONDUR.YANLIŞ KULLANILDIĞINDA # PERFORMANSI YÜKSELTMEK YERİNE DAHA FAZLA DÜŞÜREBİLİR. auto_rescheduling_window=180 # UYKU ZAMANI ( SLEEP TIME ) # Olayların ve servislerin kontroller arasında nekadar süre bekleyeceğine daha sonra ne zaman # çalışacağına bu opsiyonla karar verir. # 0.25 saniyenin 4’te 1 ‘ini ifade eder. sleep_time=0.25 # ZAMAN AŞIMI DEĞERLERİ ( timeout values) # Bu opsiyonla çalışan bir servis kontrol komutlarının ne kadar süre çalıştıktan sonra nagios tarafından # öldürüleceklerine karar verir. # Maksimum opsiyonlar aşağıdaki olaylar için verilmiştir. # servis kontrolü, host kontrolü, olay soeumluları , bildiriler , ocsp komutları , ve performans data # komutları . # Bütün değerler saniye olarak verilmiştir. service_check_timeout=60 host_check_timeout=30 event_handler_timeout=30 notification_timeout=30 ocsp_timeout=5 perfdata_timeout=5 # DURUM BİLGİLERİNİ SAKLAMAK # Nagios servislerin ve hostların kapanmadan önceki durum bilgilerini tutmasını bu servisle sağlayacaktır. # Başlangıçta Nagios izleme aracını başlattığında hafızasına aldığı bu bilgilerle yeniden yüklenecektir. # Bu çok uzun zaman tutulmuş bilgilerin , istatistiklerin bakımında çok faydalı olacaktır. # Fakat Nagios’un bu bilgileri yeniden yükleme aşamasında uzun süre bekledikten sonra çalışacak # olmasıda ayrıca düşünülmelidir. retain_state_information=1 # SON DURUM BİLGİLERİ SAKLAMA DOSYASI # Yukarıda bahsi geçen durum bilgilerini bu dosyada saklanacaktır.Fakat yukarıdaki opsiyonun “1” olamsı # şarttır. state_retention_file=/usr/local/nagios/var/retention.dat # SON DURUM BİLGİLERİ GÜNCELLEME ZAMAN ARALIĞI # Bu opsyon nagios’un ne sıklıkta ( dakika ) son durum bilgilerini otomatik olarak saklayacağına karar verir. # Değer “0” olursa nagios düzenli olarak bilgileri saklamayacaktır. # Fakat nagios kapatılıp açıldığında bu bilgiler saklanamaya devam edecektir. # Eğer durum bilgilerini saklamak opsiyonunu devre dışı bırakılırsa bu opsiyon tam olark devre dışı olduğu varsayılır. retention_update_interval=60 # PROGRAMIN SON BİLGİ DURUMUNU KULLANMASI # Bu ayar ise nagios’un değerler bazında programın durumunu son durum saklama dosyasına

Page 22: NAGIOS AĞ YÖNETİM VE İZLEME ARACI Hüseyin …web.itu.edu.tr/~mscelebi/est566/notlar/Lecture10.pdf · NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 1 / 40 NAGIOS AĞ YÖNETİM VE

T.C İSTANBUL TEKNİK ÜNİVERSİTESİ ENFORMASYON SİSTEMLERİNİN TASARIMI VE YÖNETİMİ

NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 22 / 40

# kayıt edeceği ayarrdır. # Eğer program son durum bilgisinin kayıt edilmesi istenirse aşağıdaki değer “1” olarak bırakılır. use_retained_program_state=1 # SON DURUMU YENİDEN ZAMANLAMA BİLGİSİ # Nagios servislerde ve hostlarda son kontrolünü yaptığında bunun bilgisini tutmaya yarayan # bir opsiyondur.(kontrolü yaptım bilgisini tutar.) (Kontrol sonucu zaten mevcuttur.) # Bunuda (retention file) hafıza dosyasında tutacaktır. # Opsiyonun devrede olması için aşağıdaki değer “1” olmalıdır. use_retained_scheduling_info=0 # ZAMAN ARALIĞI UZUNLUĞU # Zamansal olarak her ünitenin host / kontak / servis konfigürasyon dosyalarının # kullanımına göre aralık belirlenir. # Her aralık süresi 1 dakika uzunluğundadır.( 60 saniye) # Diğer rakamlar test edilmemiştir fakat isteğe bağlı değiştirilebilinir. interval_length=60 # ZORLAYICI HOST KONTROL OPSİYONU # Bu kontrolü kullanmak için aşağıdaki değer “1” olarak değiştirilir. # Bu servis hakkında daha fazla bilgi almak istenirse “base/checks.c” inceleneiblinir. use_aggressive_host_checking=0 # SERVİS KONTROLÜ YAPMA OPSİYONU # Nagios aktf olarak çalışmaya başlayan servislerin kontolünü yapacaktır. # Eğer bu opsiyon devre dışı bırakılırsa , aktif olarak kontrol yapmayacaktır , ama gelen pafis kontrol # sonuçlarını işlemeye devam edecektir. # Hostların yedekleri veya özel ihtiyaçları için kapatılmadıkça servis kontrol’ü devre dışı bırakılmadıkça # kapatmaya gerek yoktur.Açık bırakılabilinir. # Değer: 1 = açık kontrol, 0 = kapalı kontrol execute_service_checks=1 # PASİF SERVİS KONTROLÜNÜN KABULÜ OPSİYONU # Nagios pasif servis kontrolünün sonuçlarını nagios kapatılıp açıldığında kabul edecektir. # Değerler: 1 = pasif kontrolü kabul et , 0 = pasif kontrolü reddet. accept_passive_service_checks=1 # HOST KONTROLÜ YAPMA OPSİYONU # Nagios aktf olarak çalışmaya başlayan hostların kontolünü yapacaktır. # Eğer bu opsiyon devre dışı bırakılırsa , aktif olarak kontrol yapmayacaktır , ama gelen pafis kontrol # sonuçlarını işlemeye devam edecektir. # Hostların yedekleri veya özel ihtiyaçları için kapatılmadıkça servis kontrol’ü devre dışı bırakılmadıkça # kapatmaya gerek yoktur.Açık bırakılabilinir. # Değer: 1 = açık kontrol, 0 = kapalı kontrol execute_service_checks=1

Page 23: NAGIOS AĞ YÖNETİM VE İZLEME ARACI Hüseyin …web.itu.edu.tr/~mscelebi/est566/notlar/Lecture10.pdf · NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 1 / 40 NAGIOS AĞ YÖNETİM VE

T.C İSTANBUL TEKNİK ÜNİVERSİTESİ ENFORMASYON SİSTEMLERİNİN TASARIMI VE YÖNETİMİ

NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 23 / 40

# PASİF SERVİS KONTROLÜNÜN KABULÜ OPSİYONU # Nagios pasif host kontrolünün sonuçlarını nagios kapatılıp açıldığında kabul edecektir. # Değerler: 1 = pasif kontrolü kabul et , 0 = pasif kontrolü reddet. accept_passive_host_checks=1 # NOTİFİKASYON OPSİYONU # Nagios Servis veya Host devreye girdiğinde bir açıldığına dair ir sinyal gönderecektir. # Böylece gerekli kontrolleri diğer servis kontrolleri ve host kontrolleri ile yapabilecektir. # Değerler. : 1 = notifikasyon açık , 0 = notifikasyon kapalı enable_notifications=1 # OLAY SORUMLUSUNU KULLANMA OPSİYONU # Herhangi host veya servis olay sorumlusu yeniden başladığında nagios çalışmaya başlayacaktır. # Bahsi geçen olay sorumluları vb cümleler , cgi ‘lar aracılığı ile çalışan kontrol edilmesi istenen servis # yada hostlar için geliştirlilmiş perl dilinde yazılmış plug-in ‘lerden oluşur.Detaylara Nagios nasıl ? # dökümanımızdan ulaşabilirsiniz. # Hostların yedekleri veya özel ihtiyaçları için kapatılmadıkça veya servis kontrol’ü devre dışı # bırakılmadıkça kapatmaya gerek yoktur.Açık bırakılabilinir. # Değer: 1 = açık kontrol, 0 = kapalı kontrol enable_event_handlers=1 # PERFORMANCE VERİ İŞLEME OPSİYONU # Nagios , servis ve host kontrollerinde geriye bir performans verisi dönecektir.( time to live etc …) # Eğer bu opsiyon açık olursa ,host performans verisi ( host_perfdata_command )(aşağıda tanımlanan) ve # servis performans verisi (service_perfdata_command )(aşağıda tanımlanan) veriyi proses edecektir. # Performans data hakkında daha fazla bilgi almak için Nagios’un HTML dökümanına bakınız. # Değerler : 1 = proses et performans verisini, 0 = proses etme performans verisini process_performance_data=0 # HOST VE SERVİS PERFORMANS VERİ İŞLETME KOMUTLARI # Bu komutlar her host ve servisin konrolünden sonra çalışacaktır.Eğer yukarıdaki opsiyon’da açıksa “1”. # Komutlar host konfigurasyon dosyasında tanımlanan argümanları kullanır. # Daha fazla bilgi için HTML dökümana bakınız. #host_perfdata_command=process-host-perfdata #service_perfdata_command=process-service-perfdata # HOST VE SERVİS PERFORMANS VERİ DOSYALARI # Yukarıdaki seçeneklerde açık ise performans verileri aşağıdaki dosyalara kaydedilecektir. #host_perfdata_file=/tmp/host-perfdata #service_perfdata_file=/tmp/service-perfdata # HOST VE SERVİS PERFORMANS VERİLERİ ÖRNEKLEMLERİ # Bu opsiyonlar performans verisinin nereye nasıl yazılacağına karar verir. # Bu örneklemler makrolar ve özel karakterler ve düz yazım içerir.

Page 24: NAGIOS AĞ YÖNETİM VE İZLEME ARACI Hüseyin …web.itu.edu.tr/~mscelebi/est566/notlar/Lecture10.pdf · NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 1 / 40 NAGIOS AĞ YÖNETİM VE

T.C İSTANBUL TEKNİK ÜNİVERSİTESİ ENFORMASYON SİSTEMLERİNİN TASARIMI VE YÖNETİMİ

NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 24 / 40

# (\t for tab, \r for carriage return, \n for newline) # Performas veri dosyasına her veri yazılışında , otomatik olarak yeni bir satırla dosyaya eklenecektir. # Ne yaptığı bazı örneklerle aşağıda görülmektedir. # host_perfdata_file_template=[HOSTPERFDATA]\t$TIMET$\t$HOSTNAME$\t$HOSTEXECUTIONTIME$\ # t$HOSTOUTPUT$\t$HOSTPERFDATA$ # service_perfdata_file_template=[SERVICEPERFDATA]\t$TIMET$\t$HOSTNAME$\t$SERVICEDESC$\ # t$SERVICEEXE# CUTIONTIME$\t$SERVICELATENCY$\t$SERVICEOUTPUT$\t$SERVICEPERFDATA$ # HOST VE SERVİS PERFORMANS VERİ DOSYASI MODU # Bu seçenekte host ve servislerin performans veri dosyaları içerisine “w” yazma ve “a” ekleme # modu aktif hale getirilir. ( \\ named pipe ) kullandamadıkça default mode “a” yazma modu olacaktır. #host_perfdata_file_mode=a #service_perfdata_file_mode=a # HOST VE SERVİSLERİN PERFORMANS VERİ DOSYALARINI İŞLEME ARALIĞI # Host ve servislerin ne sıklıkta performans verilerini komutlar yoluyla bu dosyaya işleyeceğine # burada karar verilir.”0” değeri dosyaların periyodik olarak işlenmeyeceğini gösterir. #host_perfdata_file_processing_interval=0 #service_perfdata_file_processing_interval=0 # HOST VE SERVİS PERFORMANS VERİ DOSYALARININ İŞLEME KOMUTLARI # Bu komutlar periyodik olarak host ve servislerin performans verilerini kullanır. # Aşağıdaki opsiyonlar daha önce yukarıda tanımlanan performans dosyalarını kullanır. #host_perfdata_file_processing_command=process-host-perfdata-file #service_perfdata_file_processing_command=process-service-perfdata-file # ÇALIŞMASI İSTENEN SERVİSLER ÜZERİNDEKİ KONTROL OPSİYONU # Bu komut nagios ‘un tanımlanmış olmasını sizin istediğiniz servisleri kontrol ederek çalıştırıp çalıştırmayacağına # karar verilmesini sağlar.Bunun için ocsp_command komutunun (aşağıda) açık # olması gerekir. # Dağıtık izleme ( distributed monitoring) yapmadıkca bu opsiyon açılmamalıdır. # Daha fazla bilgi için HTML dökümanları takp edilebilinir. # Değerler: 1 = obsess over services, 0 = do not obsess (default) obsess_over_services=0 # MECBURİ ÇALIŞACAK SERVİS İŞLEMCİ KOMUTLARI # Bu komut nagios’un her servis kontrol işini yaptığında çalışacaktır. # Çalışması için yukarıdaki opsiyonun “1” olarak değiştirilmesi gerekir ve aşağıya ise çalışmasını # istediğiniz komutun girilmesi gerekir. # Örneğin : Bir işlemcide kontrol edilmesini istediğiniz bir MIB komutu varsa buradan gönderebilirsiniz. # Komut argümanı isimli komutlardan oluşmalıdır.Ve Host konfigürasyon dosyasında tanımlanması # gerekir.ÖR: işlmecisini kontrol etmek istediğiniz , bir HOST makinenin konfiglerini tanımlarken. # ( Konfig dosyalarının örneklerinde göreceğiz) # Daha fazla bilgi HTML ökümanlarından alınabilinir. #ocsp_command=somecommand

Page 25: NAGIOS AĞ YÖNETİM VE İZLEME ARACI Hüseyin …web.itu.edu.tr/~mscelebi/est566/notlar/Lecture10.pdf · NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 1 / 40 NAGIOS AĞ YÖNETİM VE

T.C İSTANBUL TEKNİK ÜNİVERSİTESİ ENFORMASYON SİSTEMLERİNİN TASARIMI VE YÖNETİMİ

NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 25 / 40

# ÇALIŞMAYAN AMA ÇALIŞIYOR GİBİ GÖZÜKEN SERVİS KONTROL OPSİYONU # Bu opsiyonu nagios periodik olarak başı boş servislerin kontrolünü sağlaması amacı ile kullanır. # Çalışan servisin önceki sonuçları gelene kadar servis kontrolü yeniden zamanlanmayacaktır. # Bazı kontrollerin yeniden zamanlanamayacağı mümkündür. # Bu gösteriyor ki normal şartlarda çok sık sorun olmadıkça , Eğer servis kontrollerinde yeniden # zamanlama sorunlarında doğacak sorunlarınız olacaksa ,bu opsiyonu açabilirsiniz. # Değerler.: 1 = enable checks, 0 = disable checks check_for_orphaned_services=0 # SERVİS KONTROLLERİNİN SONUÇLARININ TAZELENMESİ OPSİYONU # Bu opsiyon nagios’un servis kontrollerinde oluşan sonuçların tazelenip tazelenmeyeceğine karar # verir.Sonuçların güncel olması için tazelemesi gerekir.Bu opsiyon pasif kalmış servislerin durumlarını # öğrenmektede faydalı olacaktır. # Değerler : 1 = enabled freshness checking, 0 = disable freshness checking check_service_freshness=1 # SERVİS KONTROLLERİNİN SONUÇLARININ TAZELEME KONTROL ARALIĞI # Bu ayarlamayla nagios servis kontrollerinin sonuçlarını tazelemeyi ne sıklıkta (saniye) # yapacağına karar verir. # Efektif olabilmesi için yukarıdaki opsiyon açık olmalıdır service_freshness_check_interval=60 # HOST KONTROLLERİNİN SONUÇLARININ TAZELENMESİ OPSİYONU # Bu opsiyon nagios’un host kontrollerinde oluşan sonuçların tazelenip tazelenmeyeceğine karar # verir.Sonuçların güncel olması için tazelemesi gerekir. # Bu opsiyon pasif kalmış host durumlarını öğrenmektede faydalı olacaktır. # Values: 1 = enabled freshness checking, 0 = disable freshness checking check_host_freshness=0 # SERVİS KONTROLLERİNİN SONUÇLARININ TAZELEME KONTROL ARALIĞI # Bu ayarlamayla nagios host kontrollerinin sonuçlarını tazelemeyi ne sıklıkta (saniye) # yapacağına karar verir. # Efektif olabilmesi için yukarıdaki opsiyon açık olmalıdır host_freshness_check_interval=60 # KÜMÜLATİF DURUM GÜNCELLEMESİ # Bu opsiyonla Nagios host , servis ve program durum verilerinin toplamını vermekte kullanır. # Normalde bir değişiklik olduğunda durum verileri hemen güncellenir.Bunun sonucunda yüksek CPU # yüklenmeleri gibi bir durum olduğunda bu hemen izlenmiş olacaktır.Eğer nagios’un sadece belirli # sürelerde durum datalarını güncellemek istiyorsak bu seçeneği kapalı tutmamız gerekir.Gözlemi # anlık yapmak istediğimiz için açık tutmakta fayda var. # Değerler: 1 = enable aggregate updates, 0 = disable aggregate updates aggregate_status_updates=1

Page 26: NAGIOS AĞ YÖNETİM VE İZLEME ARACI Hüseyin …web.itu.edu.tr/~mscelebi/est566/notlar/Lecture10.pdf · NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 1 / 40 NAGIOS AĞ YÖNETİM VE

T.C İSTANBUL TEKNİK ÜNİVERSİTESİ ENFORMASYON SİSTEMLERİNİN TASARIMI VE YÖNETİMİ

NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 26 / 40

# KÜMÜLATİF DURUM GÜNCELLEMESİ ARALIĞI # Yukarıdaki opsiyonla birleştirlmiş , bu opsiyon nagios’un periyodik olarak programın dump’ını i, host # ve servislerin durum verilerini ne frekans aralığında aladağına karar verir.( saniye ) # Yukarıdaki opsiyon açık değilse bu opsiyon çalışmayacaktır. status_update_interval=15 # HATTAN DÜŞÜP TEKRAR GELENLERİN BULUNMASI OPSİYONU # Bu opsiyonla Nagios Host ve servis ‘lerde yaşanan dalgalanmaları bulmaya çalışır. # Host ve serviste bir değişiklik olduğunda sıklıkla algalanma olduğunda # Nagios bunu bularak dalgalanma düzelene kadar notifikasyon yapacaktır. # Dalgalanma kontrolünü sağlamak tecrübe gerektiren ir iştir.Bu nedenle , bu opsiyon çalışırılmadan # önce HTML dökümanlarla daha detaya girilmelidir. # Değerler: 1 = enable flap detection 0 = disable flap detection (default) enable_flap_detection=0 # TAM ANLAMI İLE KESİLMEYİPTE KESİLME EŞİĞİNE GETİREN DALGALANMA # Bu opsiyonun ne yaptığını tam anlamı ile detaylı öğrenmeden değişiklik yapılmamalıdır. # Yukarıdaki opsiyon açık olmadıkça bu opsiyon devre dıı kalacaktır. low_service_flap_threshold=5.0 high_service_flap_threshold=20.0 low_host_flap_threshold=5.0 high_host_flap_threshold=20.0 # TARİH BİÇİM AYARI # Bu opsiyon tarih kısaltmalarını ayarlamanızı sağlar. # Örneğin : Türkiye tarih ayarını yapmak istersek.tr seçilmelidir. # This option determines how short dates are displayed. Valid options # include: # us (MM-DD-YYYY HH:MM:SS) # tr (DD-MM-YYYY HH:MM:SS) # euro (DD-MM-YYYY HH:MM:SS) # iso8601 (YYYY-MM-DD HH:MM:SS) # strict-iso8601 (YYYY-MM-DDTHH:MM:SS) # date_format=us # P1.PL FILE LOKASYONU ( PATİKASI) # Bu ayarla p1.pl perl betiğini gömülü perl yorumlayıcısının nerede bulacağını gösterir. # Eğer Nagios’u kompile ( make ) ederken , perl yorumlayıcısını bulamadıysa bu opsiyon # çalışmayacaktır. p1_file=/usr/local/nagios/bin/p1.pl # OBJE İSİMLERİNDE KULLANILMAYACAK KARAKTERLER # Bu opsiyonla host isimlerinde , servis isimlerinde ,açıklamalarında ve diğer obje tiplerinde # legal olarak görmediğiniz karakterleri belirlersiniz.Ve kullandırtmazsınız. illegal_object_name_chars=‘~!$%^&*|’”<>?,()=

Page 27: NAGIOS AĞ YÖNETİM VE İZLEME ARACI Hüseyin …web.itu.edu.tr/~mscelebi/est566/notlar/Lecture10.pdf · NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 1 / 40 NAGIOS AĞ YÖNETİM VE

T.C İSTANBUL TEKNİK ÜNİVERSİTESİ ENFORMASYON SİSTEMLERİNİN TASARIMI VE YÖNETİMİ

NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 27 / 40

# MACRO ÇIKIŞLARINDA KULLANILMAYACAK KARAKTERLER # Burada macro isimlerin ve olay sorumlularının önüne gelebilecek çift karakterler gelirse macro # çalışmayacak , ve olay sorumluları devreye girmeyecektir.( events handler) # Sonuç olarak host ve srvsler kontrol edilemeyecektir. # Aşağıda göründüğü üzere $ ile başlayan sadece $ ile bitmiştir.(doğrudur.) # “ Diğer taraftan ~$& abcd $ “ olamaz. # $HOSTOUTPUT$ # $HOSTPERFDATA$ # $HOSTACKAUTHOR$ # $HOSTACKCOMMENT$ # $SERVICEOUTPUT$ # $SERVICEPERFDATA$ # $SERVICEACKAUTHOR$ # $SERVICEACKCOMMENT$ illegal_macro_output_chars=‘~$&|’”<> # DÜZENLİ KOMUTLAR # Düzenli komutlar Obje konfig dosyasında yer alabilir. # Host gruplarına , servis ve servis gruplarına , bunların açıklamalarında düzenli komutlarla bir başka # yere tanılmayabilirsiniz.Ör : (Regular expression ile mysql database’inden bilgi alabilirsiniz.Çok # gerekli değildir.) # Değerler: 1 = enable regexp matching, 0 = disable regexp matching use_regexp_matching=0 # “DOĞRU”DÜZENDE KULLANILACAK DÜZENLİ KOMUTLAR # Düzenli komutlar Obje konfig dosyasında yer alabilir. # Yukarıdaki opsiyon açık oldukça çalışacaktır. # Bazı vermek istediğiniz (regexp) komutları veremeyeceksiniz.(Eğer açık değilse) # Bu opsiyon açık değilse sürekli sadece ( * ve ? ) karakterleri kullanılabilinecektir. # Değerler: 1 = enable true matching, 0 = disable true matching use_true_regexp_matching=0 # SİSTEM YÖNETİCİSİ E-POSTA ADRESİ # Nagios $ADMINPAGER$ makrosunu notifikasyon komutları aracılığı ile kullanır. admin_email=nagios # SİSTEM YÖNETİCİSİ ÇAĞRI CİHAZI NUMARA / ADRES # Nagios’n kurulu olduğu makine için sistem yöneticisinin cağrı cihazı numarası kayıt edilmez. # Nagios $ADMINPAGER$ makrosunu notifikasyon komutları aracılığı ile kullanır. admin_pager=pagenagios # DAEMON CORE DUMP OPSİYONU # ( DAEMON = KURALLAR DAHİLİNDE KENDİ KENDİNE ÇALIŞAN DOSYA ) # ( CORE DUMP = BİR PROGRAM ÇALIŞIRKEN OLUŞMUŞ HATALARIN TUTULDUĞU DOSYA # PARÇACIKLARI VEYA ÇALIŞAN BİR PROGRAMIN İSTENDİĞİ KADAR ÇALIŞMIŞ BİR KISMININ # YEDEKLENMESİ) # Genel olarak bu dump’lar’dan geri dönülemesede debug işlemlerinde sıklıkla kullanılır.

Page 28: NAGIOS AĞ YÖNETİM VE İZLEME ARACI Hüseyin …web.itu.edu.tr/~mscelebi/est566/notlar/Lecture10.pdf · NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 1 / 40 NAGIOS AĞ YÖNETİM VE

T.C İSTANBUL TEKNİK ÜNİVERSİTESİ ENFORMASYON SİSTEMLERİNİN TASARIMI VE YÖNETİMİ

NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 28 / 40

# Nagios ‘ta daemon’lar çalıştığında olumsuz durumlarda core dump’lar üretmektedir. # Bu dump’lar kontrol edilmedikçe diski ciddi bir şekilde doldurabilir.Bu nedenle hayati önem # taşımayan (fatal) durumlar dışındaki programlarda core dump’lar kullanılmaz. # (Ör: linux –Unix-windows Kernel programları) Bir diğer örnekse ; çalışır durumda iken programın # hata yürüterek , çalıştığı kısım kadar verinin memory ‘delki kısmının (RAM) bir dosyaya # yazılmasıdır.(Dump file ) # Bu açıklamalardan sonra anlaşılmalıdır ki ; Nagios’ta kullanılan perl betiklerinde ( plugin’lerde) # meydana gelebilecek bir problemde dump oluşturup oluşturmayacağına burada karar verilir. # Bir hosta bir plugin’inin erişememesi veya eriştiği anda hattın kesilmesi(dalgalanma olması) bir core # dump nedenidir. # Değerler : 1 – core dump’lara izin ver. # 0 - core dump’lara izin verme.(varsayılan) daemon_dumps_core=0 # Nagios.cfg dosyasının sonu ( # EOF (End Of File))

Page 29: NAGIOS AĞ YÖNETİM VE İZLEME ARACI Hüseyin …web.itu.edu.tr/~mscelebi/est566/notlar/Lecture10.pdf · NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 1 / 40 NAGIOS AĞ YÖNETİM VE

T.C İSTANBUL TEKNİK ÜNİVERSİTESİ ENFORMASYON SİSTEMLERİNİN TASARIMI VE YÖNETİMİ

NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 29 / 40

Bölüm – 8 DİĞER KONFİG DOSYALARI

DİĞER KONFİG DOSYALARINI TANIYALIM . . . Yukarıdaki bütün işlemlerde aslında çok fazla değişiklik yapılmadığının farkındayız.Önemli olan Nagios’a kendisinden ne yapmasını istenildiğinin anlatılması gerekir.

Nagios kurulduğuna göre diğer ayarları ile birlikte nagios sisteminiz için eğitilmeye devam edilebilinir.

Nagios kurulduğunda $NAGIOS/etc dizini altında *.cfg-sample uzantılı dosyalar oluşacaktır.

Bu dosyaları uzantısındaki sample yazıları değiştirilrek işe başlanır.

Zaman periodları konfigürasyonu

Servislerin kontrolü ve notifikasyon aralıklarını belirlemek çin zaman periodlarının bildirilmesi gerekir.

Bir çok amaç için mevcut olan konfigürasyon idealdir.Bu konfig sayesinde iki farklı zaman dilimi tanımlanabilinir.

Örneiğin : workhours ve nonworkhours tanımlanabilinir. Böylece 9am-5pm arası workhours olacaktır.5pm’den sonrası nonworkhours olarak tanımlanabilinir.(lokal saat dilimi ihtiyacına göre belirlenebilinir)

Eğer mevcut ayarlarda değişiklik yapılacaksa aşağıdaki patikadaki konfig dosyası düzenlenmelidir.

$NAGIOS/etc/timeperiods.cfg

Kontakların konfigüre edilmesi

İzlenilen noktalarda bazı şeylerin yanlış gitmesi insanlar tarafından bilinmelidir.Ve izlenilen noktanın bir kontağı olmalı ve noktadaki izlenilen servis veya host bu kişiye bağlanmalıdır.Bunun anlamı nagios’un izleme sırasında olası oluşacak bir kesintiyi , problemi , durum bilgisini vb .. kime notifikasyon yapacağını bilmesi gerekir.

Örneğin : 6 adet sunucumuz olduğunu söyleyebiliriz. Bunların ; 2 adeti İSTANBUL’da ( IST-1 ve IST-2) , 2 adeti ADANA’da (ADA-1,ADA-2) , 2 adeti İZMİR’de (IZM-1 ve IZM-2) olsun.

Her lokasyonda 1 adet yönlendirici(router) bir adet ateşduvarı(firewall) , bir adet Mail server , bir adet’te webcache server olsun. Web server IST-1 üzerinde çalışıyor olsun. Bu şirkette değişik servislerden sorumlu kişiler olduğunu düşünelim.Servisler ve donanımlar olarak ikiye ayıralım.Bu durumda artarak toplanan bilgilerden kimin neye ihtiyacı olduğunu kontak mail adrslerine bildirmek gerekir.

Bir bölgemiz için iki kişiye ihtiyacımız olacak.İki kişiyi işe alıyoruz .Fatih Sultan (login ID fsultan,email adresi : [email protected] ).Bu kişi operasyon müdürü olsun 24sa X 7 gün 365 gün problemler hakkında bilgi sahibi olmak istiyor olsun.

Diğer kişi Mehmet Yeniçeri (login ID : myeniceri ,email adresi : [email protected]) Bu kişi ise Web dizayn ediyor olsun ve web dizaynı yaparken üzerinde çalıştığı web server’ın kritik problemlerini bilmek istiyor olsun.( Hafta içi çalışma saatlerindeki problemleri)

Page 30: NAGIOS AĞ YÖNETİM VE İZLEME ARACI Hüseyin …web.itu.edu.tr/~mscelebi/est566/notlar/Lecture10.pdf · NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 1 / 40 NAGIOS AĞ YÖNETİM VE

T.C İSTANBUL TEKNİK ÜNİVERSİTESİ ENFORMASYON SİSTEMLERİNİN TASARIMI VE YÖNETİMİ

NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 30 / 40

# ‘fsultan’ contact definition define contact{ contact_name fsultan alias Fatih Sultan service_notification_period 24x7 host_notification_period 24x7 service_notification_options w,u,c,r host_notification_options d,u,r service_notification_commands notify-by-email host_notification_commands host-notify-by-email email [email protected] } # ‘myeniceri’ contact definition define contact{ contact_name myeniceri alias Mehmet Yeniçeri service_notification_period workinghours host_notification_period workinghours service_notification_options u,c host_notification_options d,u service_notification_commands notify-by-email host_notification_commands host-notify-by-email email [email protected] } Kontak Grupların konfigürasyonu

Şirketiniz çok farklı kollarda çok değişik fonksiyonel gruplara sahip olabilir.

Mail admins - Fatih Adana admins - Fatih, Mehmet Bu grupları aşağıdaki konfig dosyasında tanımlarız. $NAGIOS/etc/contactgroups.cfg # ‘mail-admins’ contact group definition define contactgroup{ contactgroup_name mail-admins alias Mail Admins members fsultan } # ‘ada-admins’ contact group definition define contactgroup{ contactgroup_name ada-admins alias Adana Admins members fsultan,myeniceri } ... ve daha bir çok kişi tanımlanabilir.

Page 31: NAGIOS AĞ YÖNETİM VE İZLEME ARACI Hüseyin …web.itu.edu.tr/~mscelebi/est566/notlar/Lecture10.pdf · NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 1 / 40 NAGIOS AĞ YÖNETİM VE

T.C İSTANBUL TEKNİK ÜNİVERSİTESİ ENFORMASYON SİSTEMLERİNİN TASARIMI VE YÖNETİMİ

NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 31 / 40

Host gruplarının konfigürasyonu Host Grupları farklı fiziksel lokasyonlara , fonksiyonlarına ve verdiği servislere gore ayrılması gayet faydalı bir kullanım şeklidir.Bir host bir taneden daha fazla grup’a üye olabilir.Aşağıdaki gibi gruplandırabiliriz. İzmir Group: IZM-1,IZM-2 Adana Group: ADA-1,ADA-2 İstanbul Group: IST-1,IST-2, İST-3 Mail Servers: IZM-2,ADA-2,IST-2 Gateways: IZM-1,ADA-1,IST-1 Firewalls: IZM-1,ADA-1,IST-1 Webcaches: IZM-1,ADA-1,IST-1 Webservers: IST-3 Bunun faydası , host gruplarına bakınca ; lokasyan ve fonksiyona göre mantıksal bir ayrım görülecek. Problemlerin çözümü daha kolay olacaktır. HostGroup ayarları aşağıdaki dosyada yapılmalıdır.

$NAGIOS/etc/hostgroups.conf Örneği ise aşağıdaki gibidir.

# ‘izmir host group definition define hostgroup{ hostgroup_name izmir alias İzmir Group contact_groups izm-admins members IZM-1,IZM-2 } # ‘adana’ host group definition define hostgroup{ hostgroup_name adana alias Adana Group contact_groups ada-admins members ADA-1,ADA-2 } # ‘istanbul’ host group definition define hostgroup{ hostgroup_name İstanbul alias İstanbul Group contact_groups İst-admins members IST-1,IST-2,IST-3 } # ‘mail’ host group definition define hostgroup{ hostgroup_name mail alias Mail Servers

Page 32: NAGIOS AĞ YÖNETİM VE İZLEME ARACI Hüseyin …web.itu.edu.tr/~mscelebi/est566/notlar/Lecture10.pdf · NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 1 / 40 NAGIOS AĞ YÖNETİM VE

T.C İSTANBUL TEKNİK ÜNİVERSİTESİ ENFORMASYON SİSTEMLERİNİN TASARIMI VE YÖNETİMİ

NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 32 / 40

contact_groups mail-admins,izm-admins,ada-admins,ist-admins members IZM-2,ADA-2,IST-2 } # ‘gateway’ host group definition define hostgroup{ hostgroup_name gateway alias Gateway Servers contact_groups infrastructure,izm-admins,ada-admins,ist-admins members IZM-1,ADA-1,IST-1 } # ‘firewall’ host group definition define hostgroup{ hostgroup_name firewall alias Firewalls contact_groups security,izm-admins,ada-admins,ist-admins members IZM-1,ADA-1,IST-1 } # ‘cache’ host group definition define hostgroup{ hostgroup_name cache alias Webcaches contact_groups infrastructure members IZM-1,ADA-1,IST-1 } # ‘www’ host group definition define hostgroup{ hostgroup_name www alias Web Servers contact_groups infrastructure, webbies members IST-3 }

Host’ların konfigürasyonu (Nagios’a HOST tanıtımı)

Bu bölümde nagios’a hangi host’u kontrol etmesi gerektiğini anlatırız.(Yani X sunucu , Y sunucu tanımlarız)

$NAGIOS/etc/hosts.cfg

Yukarıdaki dosya içerisine hostları ve ip adreslerini tanımlarız.Hostların grafik ekranda görünmesini istediğimiz isimlerini tanımlayabiliriz.Hangi komutlarla kontrol edeceğini , ne periodlarda notifikasyon yapacağını , Host’un yaşayıp yaşamadığını ve bunun gibi bir çok şeyi burada tanımlayacağız.Örnek olarak Şirketimizin websunucusunun IST-3 olduğunu düşünerek bunun tanımlamasını aşağıda yapalım.(Bilinmelidirki aşağıdada anlatılacaktır ; check-host-alive komutu perl betik dilinde yazılmış bir plug-in’dir.İsteğe bağı kendi plug-inlerinizi ihtiyacınıza gore bulunabilir ve kullanılabilir.Host tanıtımında ve diğer servis kontrollerinde bu rahatlıkla yapılabilir.

# ‘IST-3’ host definition define host{ use generic-host

Page 33: NAGIOS AĞ YÖNETİM VE İZLEME ARACI Hüseyin …web.itu.edu.tr/~mscelebi/est566/notlar/Lecture10.pdf · NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 1 / 40 NAGIOS AĞ YÖNETİM VE

T.C İSTANBUL TEKNİK ÜNİVERSİTESİ ENFORMASYON SİSTEMLERİNİN TASARIMI VE YÖNETİMİ

NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 33 / 40

host_name IST-3 alias Solaris/Apache webserver address 192.168.1.13 check_command check-host-alive max_check_attempts 10 notification_interval 120 notification_period 24x7 notification_options d,u,r } Şimdi status map geldiğinde ( durum haritası, webdeb kontroller sırasında gelen ekran) fiziksel lokasyonlara göre bir görünüm haritası isteyebiliriz.Bunun için “parents” parametresi tanımlanmalıdır.Hangi Host’u aynı aileden görmek istiyorsak onun tanımlama alanına paren parametresi ve bulunmasını istediğimiz grubu yazmalıyız.

Örneğin (parents):

IST-1, IST-2 ve IST-3 aynı yönlendiriciye “Route1” e bağlı , bağlı bulunduğu yerinde ADA-1 and ADA-2, olduğunu düşünelim IST-1, IST-2, IST-3, ADA-1 ve ADA-2 parent olacak “Route1” aşağıdaki gibi.

# ‘IST-3’ host definition define host{ use generic-host host_name IST-3 parents Route1 alias Solaris/Apache webserver address 192.168.1.13 check_command check-host-alive max_check_attempts 10 notification_interval 120 notification_period 24x7 notification_options d,u,r } # ‘IST-2’ host definition define host{ use generic-host host_name IST-2 parents Route1 alias Solaris/Mail server address 192.168.1.14 check_command check-host-alive max_check_attempts 10 notification_interval 120 notification_period 24x7 notification_options d,u,r }

Page 34: NAGIOS AĞ YÖNETİM VE İZLEME ARACI Hüseyin …web.itu.edu.tr/~mscelebi/est566/notlar/Lecture10.pdf · NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 1 / 40 NAGIOS AĞ YÖNETİM VE

T.C İSTANBUL TEKNİK ÜNİVERSİTESİ ENFORMASYON SİSTEMLERİNİN TASARIMI VE YÖNETİMİ

NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 34 / 40

Ve yine StatusMap’de (Durum haritasında) Belki değişik kendinize göre hoşunuza giden ikonlar olmasını isteyebilirsiniz.Router ikonu , PC ikonu , server ikonu gibi … Bunun için imagepak-base.tar.gz paketi internet aracılığı ile indirilir , bir yere açılır daha sonrasında $NAGIOS/share/images/logos altına açılan dosyalar kopyalanır.Nagios’a hangi ikonu hangi host’ta kullanmak istediğinizi anlatmalısınız.Bunun için yapılması gereken aşağıda belirtilmiştir.

$NAGIOS/etc/cgi.cfg dosyasında kullanmak istediğiniz dış örneklem dosyası( Externeal Template File ) aşağıdaki gibi tanımlanmalıdır.Dikkat : xedtemplate_config_file= satırı CGI.CFG dosyası içindedir.

xedtemplate_config_file=$NAGIOS/etc/hostextinfo.cfg Ve Bu dosyada ( hostextinfo.cfg ) görüntüsünü farklı görmek istediğimiz HOST’lar tanımlanmalıdır.Yukarıdaki Host tanımlama işlemi ile aynı şey değildir.Bu sadece Hostun görünümüne sizin istediğiniz görüntüyü vermek için kullanılan bir ayarlamadır.

define hostextinfo{ host_name IST-2 2d_coords 40,40 icon_image sun40.png icon_image_alt Solaris/Mail server vrml_image sun40.png statusmap_image sun40.gd2 } $NAGIOS/share/images/logos, dizini altında sizin için uygun gördüğünüz *_image dosyaları seçilir.StatusMap imajı için .gd2 dosyalarını kullanmak zorundasınız. 2d görünümler için $NAGIOSHOME/etc/cgi.cfg dosyasında statusMap layout satırında buna izin vermelisizin. (Detaylı bilgi için ilgili dosya incelenebilir.)

StatusMap görünümler arasında varsayılan layout 5 (Circular , Marked Up) ideal gözükmektedir.

Komutların konfigürasyonu

Bu bölüm oldukça zor bir bölümdür.Varsayılanda gelen komutlar (Plug-in) aşağıda BÖLÜM 8 de anlatılmıştır.Fakat daha fazla anlaşılabilmesi için ihtiyacında yüksek olacağı düşünülerek aşağıdaki komut incelenebilir.Bu komutla işlem görülen Host’un üzerindeki çalışan prosesleri , bu prosesleri kimin yarattığını Proses numaralarına kadar görebilmeniz mümkündür.Ayrıca dikkat edilmesi gereken kritik durumlarda izlenebilinir.Toplam proses vb… bir çok bilgi alınabilinir.

check_procs Kullanımı : check_procs -w <range> -c <range> [-s state] [-p ppid] [-u user] [-a argument-array] [-C command] check_procs --version check_procs --help Gerekli Argümanlar: -w, --warning=RANGE Proses sayacı tehlike sınırını aştıysa dikkat(warning) üretilecektir.

Page 35: NAGIOS AĞ YÖNETİM VE İZLEME ARACI Hüseyin …web.itu.edu.tr/~mscelebi/est566/notlar/Lecture10.pdf · NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 1 / 40 NAGIOS AĞ YÖNETİM VE

T.C İSTANBUL TEKNİK ÜNİVERSİTESİ ENFORMASYON SİSTEMLERİNİN TASARIMI VE YÖNETİMİ

NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 35 / 40

-c, --critical=RANGE ( Kritik üretecektir) Opsiyonel Filtreler: -s, --state=STATUSFLAGS Sadece Proses halinde olanları gösterebilrsiniz. (Örneğin R, Z, S, RS,RSZDT, Diğer çıkışları alaiblirsiniz ps komutu ile) -p, --ppid=PPID Yalnızca Proses ID ‘si gösterilen Ailenin Çocuklarını ( Parents’ların Hostlarını) -u, --user=USER Sadece Kullanıcı Adı(username)veya ID sini taraması -a, --argument-array=STRING STRING bölümğnde verilecek argümanla uyum (match) sağlayanları taraması -C, --command=COMMAND Komut(Command) kısmında verilen yerle uyum sağlayanların taranması Sınırlar Tanımlanırken 'min:max' veya 'min:' veya ':max' (veya 'max')olabilir. Tanımlı Sınır sayacı ‘max:min’ ayarına göre hata üretecektir. Daha fazla bilgi için : http://www.totkat.org/pages/nconf_commands.html sitesi ziyaret edilebilinir. Devam edecek olursak , biz nagios’a ne yaptırmak istiyorsak $NAGIOS/libexec dizinindeki komutlara bakmamız gerekir.Orada nagios’un bizim için kontrol etmesini istediğimiz bir komut bulamadıysak , Kaynaklar kısmında verilen web adesleri ziyaret edilebilinir.

Dikkat :Kullanmak istediğiniz komutları $NAGIOS/etc/checkcommands.cfg dosyayında tanmlamalısınız.

Komutla kontrol etme adına aşağıda basit bir örnek bir host üzerinde çalışan secure apache için verilmiştir.

# ‘check_apache’ command definition define command{ command_name check_apache command_line $USER1$/check_https -H $HOSTADDRESS$ }

$USER1$ $NAGIOSHOME/etc/resource.cfg dosyasına refer eder komutları çaıştırırken hangi lokasyona refer edeceği (command/plug-in) .

$HOSTADDRESS$ hangi host’taki servisin kontrol edileceğini belirtir.

( resource.cfg kısmında anlatılmıştır)

Page 36: NAGIOS AĞ YÖNETİM VE İZLEME ARACI Hüseyin …web.itu.edu.tr/~mscelebi/est566/notlar/Lecture10.pdf · NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 1 / 40 NAGIOS AĞ YÖNETİM VE

T.C İSTANBUL TEKNİK ÜNİVERSİTESİ ENFORMASYON SİSTEMLERİNİN TASARIMI VE YÖNETİMİ

NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 36 / 40

Bağımsızlıkların konfigürasyonu (Configure dependencies) $NAGIOSHOME/etc/dependencies.cfg dosyasında bağımsız iki servis zamansal farklarla konfigure edilebilinir.Burada tanımlananlar genel yönergeleri kapsamayacaktır.

Farksal Yükselişlerin Konfigürasyonu (Configure escalations)

$NAGIOSHOME/etc/escalations.cfg dosyasında bağımsız iki servis zamansal farklarla konfigure edilebilinir. Burada tanımlananlar genel yönergeleri kapsamayacaktır.

Kaynakların Kofigürasyonu (Configure resources)

$NAGIOSHOME/etc/resource.cfg dosyasında bazı deyişken ve macrolar tanımlanmıştır.(Buna ana konfig dosyasında değinilmişti.) 32 $USERx$ isminde macro tanımlanabilinir.HOST konfig dosya(lar) sındaki komut tanımlarında hangisini kullanacaksak.$USERx$ makroları algılanması gereken bazı bilgiler için gayet faydalıdır.Örneğin: username , password vb.. Bununla birlikte Makrolar olay sorumlusu plug-in patikasını tanımlarkende oldukça faydalıdır.Örneğin: Bir servis durduğunda şu macro başlasın diyebiliriz.Eğer pluginlerin yada olay sorumlusunun dizinedeki yerini değiştirmek gerekirse sadece bir yada iki $USERx$ makro update edilir.Birçok komut tanımı yapmaya gerek yoktur.

Çok önemli , CGI’lar resorce dosyasını okuyabilmesi için ( 600 veya 660 ) yetkisi mutlaka verilmelidir.

Nagios ‘u kurduktan sonra resource.cfg-sample dosyası genel olarak yeteri kadar iyidir.Bunun ismi daha öncede anlatıldığı gibi değiştirilerek kullanılabilinir.( Eğer kendi isteklerinizi yerine getirecek bir macro tanımlamak gerekirse bu dosya düzenlenebilinir)

Servislerin Konfigürasyonu(Configure services) Bu oldukça geniş bir konfigürasyondur.Aşağıda temel olarak verilmiştir.

$NAGIOSHOME/etc/services.cfg dosyasında izlenmeye ihtiyaç duyulan servisler her host için tanımlanabilinir.

Bunun sınırları temel ping komutundan ( oradamısın sinyali) , apache web sunucusu servisleri çalışıyor mu , SMTP çalışıyormu vb.. servisleri her HOST için kontrol eder.Yani plug-inler ve komutlar sayesinde sınırlar çokda fazla değildir.bir Host için en fazla bi ping servisi tanımlayabiliriz.

Aşağıdaki örneği verecek olursak ;

Servis örneklemi olarak nagios’un yarattığı generic-service kullanılmıştır.Bu örneklerde services-cfg-sample ‘ile kullanılabilinir.

# Service definition define service{

Page 37: NAGIOS AĞ YÖNETİM VE İZLEME ARACI Hüseyin …web.itu.edu.tr/~mscelebi/est566/notlar/Lecture10.pdf · NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 1 / 40 NAGIOS AĞ YÖNETİM VE

T.C İSTANBUL TEKNİK ÜNİVERSİTESİ ENFORMASYON SİSTEMLERİNİN TASARIMI VE YÖNETİMİ

NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 37 / 40

use generic-service host_name $HOST service_description $SERVICE is_volatile 0 check_period $PERIOD max_check_attempts #n normal_check_interval #n retry_check_interval #n contact_groups unix-admins notification_interval #n notification_period $PERIOD notification_options w,u,c,r check_command $COMMAND $ARGUMENTS }

Bir şeyi not almak gerekir.Eğer makinenin veya servisin varlığını kontrol ederken normal_check_interval satırında kontrol etme aralığı nagios.cfg dosyasında 60 saniye belirtilmiştir.Bunu 10 dakika yapmak daha akıllıca olabilmektedir.

Mail alarmının konfigürasyonu(Configure mail alerts) Bu ayar ilgili linux işletim sistemine gore değişebilmeltedir. “-s” başlık kısmını anlatır.Varsayılanda mail(1) olarak kulanılır.Bazı durumlada başlık kısmında alarm e-postası yazmaya bilir .Bunun için aşağıda kırmızı rankle gösterilmiş komut içeriği düzenlenebilinir.Aslında burada anlatılmak istenen tam olarak , nagios’u kurduğun mevcutta kullandığın işletim sistemi üzerindeki eposta istemcisinin hangi sunucu ve komut ile çalıştığıdır.Aşağıda görüldüğü üzere mail ile posta göndermektedir.$ ile başlayarak $ ile bitenler ise alarmı gönderen ilgili HOST , tarih , servis durumu vb… girdilerdir.

$NAGIOSHOME/etc/misccommands.cfg

# ‘notify-by-email’ command definition define command{ command_name notify-by-email command_line /usr/bin/printf “%b” “***** Nagios 1.0 *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddr ess: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $DATETIME$\n\nAdditional Info:\n\n$OUTPUT$” | /usr/bin/mail -s “** $NOTIFICATIONTYPE$ alert - $HOSTALIA S$/$SERVICEDESC$ is $SERVICESTATE$ **” $CONTACTEMAIL$ }

Page 38: NAGIOS AĞ YÖNETİM VE İZLEME ARACI Hüseyin …web.itu.edu.tr/~mscelebi/est566/notlar/Lecture10.pdf · NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 1 / 40 NAGIOS AĞ YÖNETİM VE

T.C İSTANBUL TEKNİK ÜNİVERSİTESİ ENFORMASYON SİSTEMLERİNİN TASARIMI VE YÖNETİMİ

NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 38 / 40

BÖLÜM 8- NAGIOS İÇİN STANDART PLUG-IN’LER NEDİR NASIL ÇALIŞIR

NAGIOS PLUG-IN ‘ LERİNİ İNCELEYELİM . . .

Plug-in nedir ?

Plug-in çalışabilir olarak veya betik (Perl ,shell,vb.) olarak kompile edilmiştir.Komut satırındanda host ve servisleri kontol edebilir.(gerekli argümanlar verilirse) Nagios Ağınızdaki host ve servislerin mevcut durumlarına plug-inler aracılığı ile karar verir.Nagios plug-inler olmadan hiçbir veriyi kendisi host ve servislerden alamaz.

Nagios için Plug-in geliştirme (web adresi mevcuttur.)

Nagios için Plug-in geliştirme SourceForge ‘da başlatılmıştır.Nagios plug-in geliştirme proje sayfası son versiyon plug-inlerle http://sourceforge.net/projects/nagiosplug/ bu web sitesinde mevcuttur.Mutlaka sizin işinizede yarayabilecek bir plug-in olabilecektir.

Plug-in’leri nasıl kullanırız ?

Nagios’un core dağıtım versiyonu bağımsız plug-inleri desteklememektedir.Sadece nagios için üretilmiş standart plug-inleri desteklemektedir.

(Plug-in’lerin çalışması için Nagios’un ilgili işletim sistemine uygun versiyonu internetten indirilmelidir.Çünkü plug-inler işletim sistemi üzerindeki komutları kullanır)

Karl DeBisschop, plugin geliştirme lideri /bakım noktasında aşağıdaki bilgiyi vermiştir.

Bütün Plug-inler minimal geliştirme yönergesindedir.İstenirse ilgili plug-in için plug-in komut satırında --help argümanı ile çalıştırılarak daha fazla bilgi alınabilinir.

Örneğin check_http plug-in’i nasıl çalıştığını ne yaptığını çok daha detaylı öğrenmek istersek aşağıdaki komutu kullanailiriz.

./check_http—help

veya

./check_http -h

Command Definition Examples For Services

It is important to note that command definitions found in sample config files in the core Nagios distribution are probably not accurate as to command line parameters, etc when it comes to the plugins. They are simply provided as examples of how to define commands.

Page 39: NAGIOS AĞ YÖNETİM VE İZLEME ARACI Hüseyin …web.itu.edu.tr/~mscelebi/est566/notlar/Lecture10.pdf · NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 1 / 40 NAGIOS AĞ YÖNETİM VE

T.C İSTANBUL TEKNİK ÜNİVERSİTESİ ENFORMASYON SİSTEMLERİNİN TASARIMI VE YÖNETİMİ

NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 39 / 40

Özel Plug-in’ ler Yaratmak

Host ve servislerinizi kontrol etmek için özel pluginler yaratmak çok kolay bir iştir. http://sourceforge.net/projects/nagiosplug/. Web sitesinde “how to write plugins yazarak çk daha detaylı bilgiye ulaşabilirsiniz.Ayrıca http://nagiosplug.sourceforge.net/developer-guidelines.html. Web siteside oldukça faydalıdır.

Bunların yanı sıra libexec dizini altında aşağıdaki plug-in’ler plug-in leri libexec dizini altına kurma aşamasında gelmiştir.Bu plug-inler hakkında detaylı bilgi yukarıdaki web sitelerinden veya yanlarına –help parametresi eklenerek komut satırından alınabilinir.

check_breeze check_by_ssh check_dhcp

check_dig check_disk check_disk_smb

check_dns check_dummy check_file_age

check_flexlm check_ftp check_hpjd

check_http check_icmp check_ifoperstatus

check_ifstatus check_imap check_ircd

check_load check_log check_mailq

check_mrtg check_mrtgtraf check_nagios

check_nntp ( network news trnsfer protokol)

check_nt check_ntp ( network time protokol)

check_nwstat check_oracle check_overcr

check_ping check_pop check_procs

check_real check_rpc check_sensors

check_smtp check_snmp check_ssh

check_swap check_tcp check_time

check_udp check_udp2 check_ups

check_users check_wave nagios-plugins-1.4.2

nagios-plugins-1.4.2.tar.tar negate urlize

utils.pm utils.sh

Page 40: NAGIOS AĞ YÖNETİM VE İZLEME ARACI Hüseyin …web.itu.edu.tr/~mscelebi/est566/notlar/Lecture10.pdf · NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 1 / 40 NAGIOS AĞ YÖNETİM VE

T.C İSTANBUL TEKNİK ÜNİVERSİTESİ ENFORMASYON SİSTEMLERİNİN TASARIMI VE YÖNETİMİ

NAGIOS AĞ YÖNETİM VE İZLEME ARACI Sayfa 40 / 40

Ekler :

notification_options: w=warn, c=critical, d=down, u=up and r=restart.

Kaynaklar : http://nagios.org http://nagiosexchange.org http://www.totkat.org http://www.olympos.org http://sourceforge.net/projects/nagiosplug/ Telif Hakkı: Bu belgenin, telif hakları İTÜ BİLİŞİM ENSTİTÜSÜ ne aittir.Bu belgeyi, Free Software Foundation tarafından yayınlanmış bulunan GNU Özgür Belgeleme Lisansının 1.1 ya da daha sonraki sürümünün koşullarına bağlı kalarak kopyalayabilir, dağıtabilir ve/veya değiştirebilirsiniz. Linux, Linus Torvalds adına kayıtlı bir ticarî isimdir.