Nagios Network Monitör Uygulaması

Yazar: Erkan Esmer Kategori: Nasıl? Yazdır: PDF 27 Mayıs 2013 tarihinde yayımlandı.
Monitoring Sistemlerini inceleyeceğimiz bir yazı dizisine bu yazıyla başlıyoruz. İlk olarak Nagios uygulamasını inceleyeceğiz.

Monitoring Sistemleri

Not: Nagios çalışmasını Centos sunucu izerinde yapmış olduğumuzdan dolayı kurulum ve yapılandırma tarifi Centos’a göredir.

Nagios Network Monitör Uygulaması

Nagios, bir sistem ve ağ denetleme uygulamasıdır. Sunucu olarak belirlediğimiz makineye Nagios’u kurup izlemek, denetlemek istediğimiz makineye de agent (ajan) uygulamasını kurup gerekli konfigürasyonu yapar ve Nagios’u çalıştırırız.

Genel olarak Nagios ile neler yapabiliriz?

  1. Ağ üzerinde istenilen makinelerin servislerini monitör edebilme. (Smtp,pop3, http, ping vs.)
  2. Makinelerin kaynaklarının durumlarını izleyebilme. (Disk kullanımı, İşlemci kullanımı vs.)
  3. Makine kaynaklarında veya servislerinde oluşabilecek durumlara karşı e-posta, SMS aracılığı ile bilgilendirme yapabilme.
  4. Network haritası çıkarabilme.
  5. Web arayüzü ile takip yapabilme ve rapor alabilme.

Nagios’un diğer sağladıkları ve detaylar için www.nagios.org adresine bakabilirsiniz.

Nagios’un Çalışma Şekli

Nagios, uygulama olarak kurulduğu host makinede çalışır. Nagios’un üzerinde tanımlı pluginler vardır. Bu pluginler kurulumla beraber gelir. Kurulum sonrası monitör edilecek cihazları “.cfg” dosya türü ile Nagios’a tanımlarız (Nagios klasörünün altındaki object klasörü içine). Yani her izlenen cihazın bir .cfg uzantılı tanımlama dosyası olur. Bu tanımlama dosyaları da Nagios’un konfigürasyon dosyasında (Nagios klaösürü içindeki nagios.cfg dosyası) gösterilir.

Buna göre Nagios kendisinde tanımlı .cfg dosyaları sayesinde hangi ağ üzerindeki hangi cihazda hangi komutları çalıştıracağını bilir. Ayrıca çalıştıracağı komutlar da yine Nagios klasörünün altındaki object klasörünün içinde command.cfg dosyasında tutulur.

Sonuç olarak Nagios monitör ettiği cihazlarda birtakım pluginler çalıştırır. Bu pluginler de aslında komutlardan oluşur. Nagios çalıştırdığı pluginler sayesinde izlediği makineden bilgileri toplar ve bir web arayüzünde sunar.

Tabii bir de Nagios’un yukarıda bahsettiğimiz komutları karşı tarafta çalıştırabilmesi için eğer Unix/Linux makineyse NRPE eklentisini kurmak eğer Windows ise NSClient++ eklentisini kurmak gerekir. Bu eklentileri kurarak Nagios’un makinelere erişerek gerekli komutları çalıştırabilmesini sağlamış oluruz.

Nagios, 5666 numaralı port ile haberleşir.

Nagios Kurulumu

Kuruluma Hazırlık ve Kurulum Adımları

Öncelikle Nagios kurulumu için sistemimize repo ekleyeceğiz. Böylece eklediğimiz repodan Nagios ve Nagios-Plugin kurulumlarını yapacağız. Ayrıca web arayüzü için de Apache kurulumu yapacağız.

Yani maddelendirirsek;

  1. repo ekleme
  2. Apache kurulumu
  3. Nagios ve Nagios-Plugin kurulumu

En etkin repolar olan rpmforge ve epel repolarını veya birini sistemimize eklemek kurulum için yeterli. Bunun için biz şöyle bir yol izleyeceğiz. Tabii ki başka yöntemler de vardır. Linux paketlerini arayıp indirebileceğimiz başarılı bir kaynak site olan pkgs.org sitesine girip arama alanından epel kelimesi aratalım. Çıkan sonuç aşağıdaki gibi olacaktır.

Bağlantıya tıkladığımızda açılan sayfada nasıl kuracağımıza dair yönlendirmeyi göreceğiz.

Epel-release dosyasını indirip aynı konumdayken;

rpm -Uvh epel-release

komutunu vermemiz epel reposunun kurulumu için yeterlidir. Artık kurulum isteklerimiz epel reposundan da arattırılacaktır.

Son olarak Nagios kurulumuna başlamadan önce sistemimizde yoksa

yum install httpd

komutu ile Apache kurulumunu yapıyoruz. Apache ile ilgili sadece Nagios için kullanacağımız için ek ayarlar yapmayacağız. Kurulum yapmamız yeterli. Ardından

yum install nagios

komutunu veriyor ve Nagios kurulumu yapıyoruz.

Kurulum tamamlandıktan sonra /etc/nagios yoluna Nagios uygulamasının kurulduğunu görebilirsiniz. Şimdi Nagios dizinine bir bakalım.

Buradaki dosya ve klasörler Nagios yapılandırılmasında kullanılan içerikleri ve dosyaları barındırır. Bunlara bakacak olursak; cgi.cfg Bu dosyada web arayüzü için ayarlar bulunur. Temelde barındırdığı ayarlarla kullanabiliriz. Şimdilik bu dosyada ek bir şey yapmaya gerek yok. Nagios.cfg Bu dosya ile monitör edeceğimiz cihazların önceden yaptığımız .cfg dosyalarının yolunu belirtiriz. Böylece Nagios belirtilen .cfg dosyalarına göre monitörleme yapmaya başlar.

Passwd Kurulum sonrası web arayüz erişimi için KullanıcıAdı:nagiosadmin Şifre:nagiosadmin olarak gelir. Bu dosya şifrenin tutulduğu dosyadır. Private Klasörü Private klasörü içinde resource.cfg dosyasını barındırır. Resource.cfg dosyası da Nagios Plugin dosyalarının yolunu tutar. Nagios bir plugin çalıştıracağı zaman plugin dosyasını bu dosyada belirtilen konumda arar.

Objects Klasörü Bu klasörde monitör ettiğimiz cihazların konfigürasyon dosyaları ve çalıştıracağımız komutların dosyası tutulur. İçerisinde localhost.cfg dosyasını windows.cfg dosyasını switch.cfg dosyasını görmekteyiz.

Örneğin windows.cfg dosyasına bir bakalım.

Dosyayı açtığımızda “Host Definitions” başlığı altında “define host { }” parantezler arasına mönitör edeceğimiz Windows makinenin Grubunu (WindowsServer Grup diyebiliriz. WebArayüzde Windows grubu görmemizi sağlar.) Makine adını ve en önemlisi address başlığı karşısına ip_adresini yazarız.

Yukarıdaki girdilere göre ip_adresi 192.168.1.2 olan, adı winserver olan bir sunucumuzu windows-server grubunun içince mönitör etmek üzere belirtmiş olduk. Devam ediyoruz;

Yukarıda bahsettiğimiz grup tanımının yapıldığı alan. Unutmayalım! Eğer windows-servers grubu oluşturup bu grup altına sunucuları koyuyorsak bu grup tanımını sadece ilk oluşturduğumuz dosyada yapacağız. İlk dosya ile beraber grup tanımı yapılmış olacak. Diğer dosyalarda yukarıda değindiğimiz gibi sadece üye olduğu grubu belirteceğiz. Aksi hâlde her dosyada bir grup tanımlamaya çalışırsak aynı isimli grupolacağından hata alırız.

Yine windows.cfg dosyaında devem ediyoruz. Aşağıda iki adet servis tanımı görmekteyiz. Biri UPTIME girdisi ile sunucunun uptime zamanına bakmakta diğeri ise CPULOAD girdisi ile işlemci yüküne bakmakta. Bunları aşağıda görülen formatta dilediğimiz kadar çoğaltabilir ve sununcunun istediğimiz servisini veya durumu izlemeye alabiliriz.

İşte windows.cfg dosyasını Windows olan her sunucumuz için kullanabiliriz. Diğer dosyalar da adından da anlaşılacağı üzere switch.cfg, switch kontrolleri için printer.cfg dosyası printer cihazların kontrolleri için şablon .cfg dosyalarıdır. Bu dosyaları cihazlarımıza göre özelleştirerek kullanabiliriz. Örneğin yukarıda içeriğine baktığımız windows.cfg dosyasını içeriğini düzenleyip adını da sunucumuz ismini vererek kaydeder ve kullanabiliriz. Örn:FileServer-1

Son olarak bu .cfg dosyasının yolunu /etc/nagios/ altında bulunan nagios.cfg dosyasına ekliyoruz.

Nagios yukarıda da anlattığımız gibi .cfg dosyasına ulaşarak, içeriğine göre izlemeyi başlatıyor. Mesela kendi oluşturduğumuz dosyanın adını FileServer-1.cfg olarak vermiş olalım. nagios.cfg dosyasında oluşacak girdi aşağıdaki gibi olacak.

Temel olarak Nagios Sunucusunda yapacağımız ayarlar ve düzenlemelere değindik. Bir de izlenecek tarafta izlemenin sağlanabilmesi için eklenti bir uygulama kurulması gerekiyor. Windows sunucular için http://sourceforge.net/projects/nscplus/ adresinden NSClient++ kurulumunu indiriyoruz ve sunucuda kuruyoruz. Kurulum sırasında bize Nagios sunucunun ip adresi soruluyor. Bu bilgiyi de girdiğimizde ve kurulum tamamlandığında izlenecek makine izlenmeye hazır duruma geliyor. Monitör edilecek makine tarafında başka bir ayar yapmamıza gerek yok. Yalnız kurulumun başarılı şekilde tamamlandığını kontrol etmek için şunu yapabiliriz.

Windows komut satırında;

netstat -an |find /i “:5666” komutunu çalıştırır ve LISTENING dönüşü alırsak problem yok demektir.
**Nagios 5666 portundan çalışır.

Eğer Linux bir makineyi monitor edeceksek aynı Windows makineye kurduğumuz gibi bir uygulamayı da Linux makinemize kuruyoruz. Yum install nagios-nrpe komutu ile kurulumu yapıyoruz. Kurulum bittikten sonra /etc/nagios/ klasöri altına nrpe.cfg dosyasının geldiğini göreceğiz. Bu dosyayı edit edip AllowedHosts tanımına Nagios Server makinenin ip_adresini girmemizle monitörleme için karşı cihazda gerekenleri yapmış oluruz.

Yine kontrol için terminal penceresinde;

netstat -an |grep 5666 komutunu çalıştırdığımızda LISTEN sonucunu alırsak  kurulum başarılı demektir.

Bu ayki yazımızda Nagios için kurulum ve yapılandırma yaptık. Temel olarak çalışır duruma getirdik. Önümüzdeki ay yine Nagios’tan devam ederek bir senaryo işleteceğiz. Windows, Linux makinelerimizi monitörlemeye alacak bunun yanına switch izleme de eklemeye çalışacağız. Bu çalışmayı da tamamlayınca web arayüzden Nagios uygulamamızı kullanacağız.

Görüşmek üzere…

Benzer Yazılar