28 Eylül 2014 Pazar

Nagios ile Host Monitoring - Nagios Core Kurulumu

    Ubuntu server üstüne host monitoring aracı olan Nagios Core'un kurulumu anlatılacaktır.
Nagios oldukça gelişmiş ve kullanışlı bir host monitoring aracıdır -açık kaynak kodlu-. Bu makalede Nagios'un Ubuntu Server üstüne kurulumu, yapılandırılması ve başka bir ubuntu sunucusunun izlenmesi anlatılacaktır.

Bu sunucuların disk, memory ve işlemci gibi lokal kaynaklarının yanı sıra üzerilerinde çalışan http, smtp, ftp, mysql gibi servisleri de izlenebilir.

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 pluginler sayesinde gözetlenebilir. Pluginler aracılığı ile dıştan otomatik komutlar vererek ileride bahsi geçecek host ve servisleri kontrol ederken hata oluşma durumunda yine nagios’un config dosyalarına tanımlanmış sistem yöneticisine otomatik mail yada sms gönderebiliyor olacaktır.
Nagios’un ilgili pluginleri hedef makinede çalıştırması için kullanılabilecek bir kaç yöntem var. Eğer bir Linux/Unix makineyi monitor edecekseniz, Nagios’un pluginleri ssh üzerinden çalıştırmasını sağlayabiliyorsunuz. Ya da client makineye NRPE (Nagios Remote Plugin Executor )isimli addonu yükleyerek Nagios’tan aldığı direktiflerle pluginleri çalıştırmasını sağlayabiliyorsunuz. Makalede NRPE kullanılarak client monitor edilecektir.

Bilgilendirme Şekilleri

    Nagios'un hostlar için Down ve Unreachable, servisler için ise Warning ve Critical olmak üzere çeşitli uyarı çeşitleri vardır. Belirtilen uyarı çeşitleri için eşik değerleri belirlenip mail veya sms gelmesi sağlanabiliyor.


Kurulum

Önce gerekli paket yüklemeleri yapılır. (işlemler root kullanıcı haklar ile yapılmıştır.)
  • apt-get update
  • apt-get install build-essential apache2 php5-gd wget libgd2-xpm libgd2-xpm-dev libapache2-mod-php5 sendmail daemon
 
Nagios için nagios isimli bir kullanıcı oluşturulur ve nagcmd grubuna eklenir.
  • useradd nagios
  • groupadd nagcmd
  • usermod -a -G nagcmd nagios
Nagios Core'un en güncel versiyonu indirilir ve tar paketinden çıkarılır.
Oluşturduğumuz kullanıcı ve grup kullanılarak konfigüre edilir.
  • cd nagios-4.0.7/
  • ./configure --with-nagios-group=nagios --with-command-group=nagcmd --with-mail=/usr/bin/sendmail
Resimdeki gibi bir çıktı aldıysanız nagios başarılı bir şekilde konfigüre edilmiş demektir. Sonraki adımlar ile devam edebiliriz.
  • make all
  • make install
  • make install-init
  • make install-config
  • make install-commandmode
  • make install-webconf
eventhandlers kopyalanıp gerekli yetkiler verilir.
  • cp -R contrib/eventhandlers/ /usr/local/nagios/libexec/
  • chown -R nagios:nagios /usr/local/nagios/libexec/eventhandlers
Şimdi Nagios'u kullanırken erişeceğimiz web arayüzü için (nagiosadmin kullanıcısı) şifre belirlemeye.
  • htpasswd -cm /usr/local/nagios/etc/htpasswd.users nagiosadmin

Nagios'un initialization script'ini başlatalım şimdi.
  • /etc/init.d/nagios start
   Eğer burada  Can't open /etc/rc.d/init.d/functions gibi bir hata alıyorsanız aşağıdaki adımları izleyerek yapacağınız değişiklikler ile sorunu çözebilirsiniz.
  • sed -i "s/^\.\ \/etc\/rc.d\/init.d\/functions$/\.\ \/lib\/lsb\/init-functions/g" /etc/init.d/nagios
  • sed -i "s/status\ /status_of_proc\ /g" /etc/init.d/nagios
  • sed -i "s/daemon\ --user=\$user\ \$exec\ -ud\ \$config/daemon\ --user=\$user\ --\ \$exec\ -d\ \$config/g" /etc/init.d/nagios
  • sed -i "s/\/var\/lock\/subsys\/\$prog/\/var\/lock\/\$prog/g" /etc/init.d/nagios
  • sed -i "s/\/sbin\/service\ nagios\ configtest/\/usr\/sbin\/service\ nagios\ configtest/g" /etc/init.d/nagios
  • sed -i "s/\"\ \=\=\ \"/\"\ \=\ \"/g" /etc/init.d/nagios
  • sed -i "s/\#\#killproc\ \-p\ \${pidfile\}\ \-d\ 10/killproc\ \-p \${pidfile\}/g" /etc/init.d/nagios
  • sed -i "s/runuser/su/g" /etc/init.d/nagios
  • sed -i "s/use_precached_objects=\"false\"/&\ndaemonpid=\$(pidof daemon)/" /etc/init.d/nagios
  • sed -i "s/killproc\ -p\ \${pidfile}\ -d\ 10\ \$exec/\/sbin\/start-stop-daemon\ --user=\$user\ \$exec\ --stop/g" /etc/init.d/nagios
  • sed -i "s/\/sbin\/start-stop-daemon\ --user=\$user\ \$exec\ --stop/&\n\tkill -9 \$daemonpid/" /etc/init.d/nagios
Nagios için gerekli pluginleri indirip kuruyoruz.
Nagios Apache konfigürasyonlarını ayarlıyoruz.
  • cp /etc/apache2/conf.d/nagios.conf /etc/apache2/sites-available/nagios
  • ln -s /etc/apache2/sites-available/nagios /etc/apache2/sites-enabled/nagios
nagios.cmd update hatası almamak için gerekli yetkileri veriyoruz.
  • service nagios stop
  • chown -R nagios:www-data /usr/local/nagios/var/rw/
şimdi Nagios'u kontrol edelim hata var mı yok mu diye.
  • /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg








Yukarıdaki gibi bir çıktı alıyorsanız Nagios kurulumu sorunsuz bitmiş demektir. Bundan sonraki adımda Nagios ve Apache'nin boot sırasında başlayabilmesi için aşağıdakiler yapılmalıdır.
  • ln -s /etc/init.d/nagios /etc/rcS.d/S98nagios
  • ln -s /etc/init.d/apache2 /etc/rcS.d/S99apache2
Bitirme aşamasına geçmeden önce NRPE'yi kurup işlemleri bitiriyoruz (sonraki işlemlerimiz sırasında CHECK_NRPE: Error – Could not complete SSL handshake gibi bir hata almamak için libssl-dev kuruyoruz)
Yukarıdaki adımda –with-ssl-lib=/usr/lib/x86_64-linux-gnu kısmı makinemizin 64 bit olmasından mütevellit yazılmıştır. Eğer server olarak kullandığınız makine 64 bit değilse dpkg -L libssl-dev yazarak libssl.so dosyasının bulunduğu konum ile "/usr/lib/x86_64-linux-gnu"'ı yer değiştirerek konfigüre edebilirsiniz. 
  • make all
  • make install-plugin
Nagios ve Apache servislerimizi başlatıp Nagios'u kullanmaya başlayabiliriz.
  • service nagios restart
  • service apache2 restart
http://IPADDRESS/nagios  adresinden kurmuş olduğumuz Nagios Core'un web arayüzüne nagiosadmin kullanıcı adı ve belirlemiş olduğumuz şifre ile ulaşabiliriz.


Nagios'un kurulumu bu kadar. Yukarıdaki ekranı web arayüzündeki Hosts menüsünün altında görebiliyorsanız kurulumu sorunsuz bir şekilde tamamlamışsınız demektir. 
Bundan sonraki kısımda NRPE ile bir ubuntu sistemi monitor etme gösterilecektir.
Son olarak clientimize NRPE addon'u kurmadan önce aradaki haberleşmeyi sağlayacak komutu Nagios'un commands.cfg dosyasını konfigüre ederek yapabiliriz. Bunun için favori editörünüz ile /usr/local/nagios/etc/objects/commands.cfg dosyasını açıp sonra satıra aşağıdakileri yazmanız yeterlidir. Bu command tanımı ekleyeceğimiz hostlar ile Nagios server'ımızın haberleşmesini sağlayacaktır.

#NRPE CHECK
# 'check_nrpe' command definition
define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
        }
Bir sonraki yazıda Ubuntu bir makinenin Nagios ile izlenmesini yazacağım.


Kaynaklar: 

Hiç yorum yok:

Yorum Gönder