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.
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-4.0.7.tar.gz
tar -zxvf nagios-4.0.7.tar.gz
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.
sudo wget http://www.nagios-plugins.org/download/nagios-plugins-2.0.tar.gz
cd nagios-plugins-2.0/
./configure --with-nagios-user=nagios –with-nagios-group=nagios
make
make install
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)
apt-get install libssl-dev
wget http://downloads.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.15/nrpe-2.15.tar.gz
tar -zxvf nrpe-2.15.tar.gz
cd nrpe-2.15/
./configure --with-ssl=/usr/bin/openssl –with-ssl-lib=/usr/lib/x86_64-linux-gnu
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