NagiosCore Nedir? Kurulumu Nasıl Yapılır?

Nagios Core Nedir?

NagiosCore, Linux (ve Unix tüveri) platformlar üzerinde çalışabilen ve bir endüstri standardı halini almış olan GPL lisanslı ücretsiz bir sistem ve network monitoring yazılımıdır. Bir çok özelliği içerisinde barındıran Nagios’un temel özellikleri aşağıdaki gibidir.

  • Host bazında kaynak monitörleme (Disk, İşlemci, Memory)
  • Servis bazında network monitörleme (SMTP, POP3, HTTP, NNTP, FTP, PING vs.)
  • Plugin desteği sayesinde kendi pluginlerinizi yazabilem esnekliği.
  • “Parent” hosts özelliği ile network hiyerarşisi tanımlayabilme.
  • Belirli durum ve makineler için belirli kişilere uyarı mesajları gönderebilme. (E-mail, Pager, SMS vs.)
  • Web Arayüzü’nden anlık durum görüntülemesi ve gelişmiş raporlar

Bu özelliklerin yanı sıra, yazıda detaylı olarak değinmeyeceğim için bahsetmediğim bir kaç önemli özellik daha bulunuyor. Özelliklerin tam listesi için www.nagios.org adresinden yararlanabilirsiniz.

NagiosCore
NagiosCore

Genel Prensip:

NagiosCore belirli periyodlarla, kaynak ya da servisleri monitor edilecek makine üzerinde bulunan pluginlerin çalıştırılmasını sağlıyor. Çalıştırılan bu pluginler de Nagios’a kontrol edilen kaynak/servis ile ilgili bir cevap dönüyorlar. Bu şekilde Nagios, ilgili kaynak/servis hakkında bilgi sahibi oluyor.

Nagios’un ilgili pluginleri hedef makinede çalıştırması için kullanılabilecek bir kaç yöntem var. Mesela eğer bir Linux/Unix makineyi monitor edecekseniz, Nagios’un pluginleri ssh üzerinden çalıştırmasını sağlayabiliyorsunuz. Ya da client makineye NRPE isimli addonu yükleyerek Nagios’tan aldığı direktiflerle pluginleri çalıştırmasını sağlayabiliyorsunuz.

Ayrıca, Windows bilgisayarları monitör etmek için aynı işi yapan NSClient + + isimli bir Windows Agent’i de mevcut. Ben monitoring işleri için NRPE ve NSClient ++ kullanıyorum. Yazının ilerleyen bölümlerde hem pluginler hem NRPE ve hem de NSClient ++ ile ilgili bilgileri bulabilirsiniz.

Sonuç olarak Nagios hedef makinedeki pluginlerden gerekli bilgi cevaplarını alıyor ve duruma göre bir aksiyon alıyor. Bir örnek vermek gerekirse, mesela üzerinde herhangi bir Linux dağıtımı koşan makineniz var ve bu makinenin işlemci kullanımını sürekli kontrol etmek ve işlemci kullanımı %80 oranına ulaştığı zaman uyarı mesajı almak istiyorsunuz. Nagios üzerinde bu kontrol işlemi için bir konfigurasyon yapıyorsunuz ve örneğin her 5 dakikada bir NRPE ile iletişime geçilerek cpu kontrolü yapan plugin’i çalıştırmasını söylüyorsunuz. Bundan sonra Nagios her 5 dakikada bir hedef makinedeki NRPE ile konuşup cpu kontrolü yapmasını söylüyor. NRPE de, cpu kontrol plugin’ini çalıştırarak aldığı bilgiyi Nagios’a iletiyor. Eğer dönen cevapta kullanım oranı %80 olarak belirtiliyorsa, yapılandırmaya göre mesela bir bilgi mesajı gönderilmesi sağlanıyor.

NagiosCore Bilgilendirme Şekilleri:

Bunun dışında, Nagios’un hostlar için Down ve Unreachable ve servisler için Warning ve Critical olmak üzere farklı uyarı çeşitleri bulunuyor. Tüm bu durumlar için ayrı eşik değerleri belirleyebiliyorsunuz. Örneğin “gelen cevapta işlemci kullanımı %80’se Warning; %90 ise Critical ver.” diyebiliyorsunuz. Ayrıca, “sadece Critical durumlar için mesaj gönder” şeklinde bir tanımlama da yapabiliyorsunuz. Bu şekilde Warning durumları sadece Nagios’un web arayüzünden izlenebilirken, Critical durumlar hem web arayüzünden izlenebiliyor hem de e-posta ya da sms gibi yöntemlerle sistem yöneticisine bildiriliyor.

NagiosCore Durum Tipi:

Çalışma prensibi konusundaki bir diğer önemli nokta ise, genel olarak monitoring yazılımlarının ortak problemi olan “mesaj bombardımanının” önüne geçilmesi için geliştirilmiş “State Type” denilen konu ile ilgili. Mesela, hemen yukarıdaki örnekten devam edersek, ilgili makinede anlık olarak kontrolünüz dahilinde bir işlem yapıyor olabilirsiniz ve bu işlem sonucu işlemci kullanımı %90 sınırını geçebilir. Bu durumda Nagios tarafından her 5 dakikada bir yapılan kontrollerden birinde NRPE’den dönen sonuç da işlemci kullanımının %90’i aştığı yönünde olabilir. Aynı zamanda networksel sorunlardan dolayı Nagios geçici olarak NRPE ile konuşamayabilir ve sağlıklı cevaplar alamayabilir ve ya belirli periyodlarla bir router’ı pingleyip hat ile ilgili kontrol de yapıyor olabilirsiniz ancak bu sorun çok kısa süreli geçici bir problem de olabilir ya da monitor edilen makinelerden birini restart etmiş olabilirsiniz. Bu durumların hepsi için Nagios birer mesaj atacak olursa e-mail ya da cep telefonunuzun posta kutusu gereksiz bir sürü mesajla dolabilir. İşte Nagios’un State Type denilen özelliği bu durumun oluşmaması için güzel bir çözüm sunmaktadır.

Nagios’un bir kaynak ya da servisin durumu ile ilgili karara varması için gerekli iki öğe bulunuyor:

  • Kaynak ya da Servis’in durumu (OK, WARNING, CRITICAL, UP, DOWN vs.)
  • Kaynak ya da Servis durumunun tipi

Nagios, durumu UP ya da OK olmayan kaynak ya da servisler hakkında kesin durum kararı vermek için bahsedilen bu “durum tipi”ni de göze almaktadır. Durum tipleri de kendi aralarında SOFT error ve HARD error olmak üzere ikiye ayrılıyorlar.

NagiosCore Kurulumu Nasıl Yapılır?

CentOS 7’ de NagiosCore 4.4.1 ve Nagios Plugins 2.2.1’ in nasıl kurulacağını göstereceğim.
Bu makalede CentOS 7 üstüne Nagios Core’ u kurmak isteyen herkesin kullanımına yöneliktir.
Kuruluma başlamadan önce, SElinux’ u devre dışı bırakmanız gerekiyor.

[root@NagiosCore ~]# setenforce 0
[root@NagiosCore ~]# vi /etc/selinux/config SELINUX=disabled

NagiosCore çalışması için  bağımlılıkları yükleyin.

[root@NagiosCore ~]# yum install httpd php php-cli gcc glibc glibc-common gd gd-devel net-snmp openssl-devel wget unzip -y

Nagios’ un kullanılması için kullanıcı ve grub oluşturalım.

[root@NagiosCore ~]# useradd nagios
[root@NagiosCore ~]# groupadd nagcmd
[root@NagiosCore ~]# usermod -a -G nagcmd nagios
[root@NagiosCore ~]# usermod -a -G nagcmd apache

Nagios’ u indirin ve yükleyin
Nagios ve Nagios eklentileri için gerekli .tar.gz dosyalarını indireceğimiz yer burasıdır.

[root@NagiosCore ~]# cd /tmp
[root@NagiosCore tmp]# wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.4.2.tar.gz 
[root@NagiosCore tmp]# wget http://www.nagios-plugins.org/download/nagios-plugins-2.2.1.tar.gz
[root@NagiosCore tmp]# tar zxf nagios-4.4.2.tar.gz
[root@NagiosCore tmp]# tar zxf nagios-plugins-2.2.1.tar.gz
[root@NagiosCore tmp]# cd nagios-4.4.2/

Nagios’ u derlemeye başlayalım!

[root@NagiosCore nagios-4.4.2]# ./configure --with-command-group=nagcmd
[root@NagiosCore nagios-4.4.2]# make all
[root@NagiosCore nagios-4.4.2]# make install
[root@NagiosCore nagios-4.4.2]# make install-init
[root@NagiosCore nagios-4.4.2]# make install-config
[root@NagiosCore nagios-4.4.2]# make install-commandmode
[root@NagiosCore nagios-4.4.2]# make install-webconf

Nagiosadmin için şifre oluşturalım
Nagiosadmin kullanıcısı için bir şifre oluşturmamız gerekiyor bu şifre ile GUI giriş yapmak için kullanılacaktır.

[root@NagiosCore ~]# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

Nagios eklentiyi yükleyin.

[root@NagiosCore ~]# cd /tmp/nagios-plugins-2.2.1
[root@NagiosCore nagios-plugins-2.2.1]# ./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-openssl
[root@NagiosCore nagios-plugins-2.2.1]# make all
[root@NagiosCore nagios-plugins-2.2.1]# make install

Nagios’ u Başlatalım
Her şey düzgün çalışıyorsa Nagios Core servislerini başlatabiliriz.

[root@NagiosCore ~]# service httpd start
[root@NagiosCore ~]# service nagios start 

Artık Nagios Core hazır durumda http://localhost/nagios giderek erişim sağlayabilirsiniz.
Nagios web sayfasına erişemiyorsanız güvenlik duvarına takılıyordur.

[root@NagiosCore ~]# firewall-cmd --zone=public --add-port=80/tcp --permanent
[root@NagiosCore ~]# firewall-cmd --reload 

Web: http://192.168.1.10/nagios/

nagioslogin
nagioslogin
nagiosweb
nagiosweb
nagioshoststat NagiosCore
nagioshoststat

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir