Freebsd

Nagios Kurulumu

Bir ağ veya sistem yöneticisi iseniz, sistemleri kurup, sağlıklı bir şekilde çalışmasını sağladıktan sonra sürekliliğini de sağlamak zorundasınız. Tek bir sunucu veya cihazdan sorumlu iseniz, günlük rutin kontrol ile bu işlemleri yapabilirsiniz. Fakat sunucular veya ağa bağlı diğer cihazların sayısı fazlalaştığında tek tek kontrol etmek hem zamanınızı alacaktır hem de performanslı olmayacaktır.

Bunun yerine ağa bağlı cihazların verilerini SNMP denilen protokol üzerinden anlık olarak okuyabilir ve problem çıktığında veya çıkmadan anında müdahale edebilirsiniz.

SNMP Nedir?

Açılımı, Simple Network Management Protocol olan SNMP’nin Türkçe karşılığı, basit network yönetim protokolü şeklindedir.  Ağa bağlı cihazlardan (sunucu, firewall, router, vb.) bilgi almak için kullanılır. Daha fazla detayı bu SNMP nedir başlıklı yazımızdan okuyabilirsiniz.

Nagios Nedir?

Nagios, ağa bağlı cihazları, ağları ve altyapıyı izleyen ücretsiz ve açık kaynaklı bir bilgisayar yazılımı uygulamasıdır. Nagios ve Nagios Core olarak iki versiyonu bulunur. Nagios ücretli Nagios Core ise ücretsiz ve açık kaynaklıdır. İzlemeye aldığınız bir cihazda, sizin direktifleriniz doğrultusunda uyarılar gönderip, dilerseniz belirlediğiniz görevleri de yaptırabilirsiniz. (dosya silme, servisi yeniden başlatma vb.) Nagios’u, Cisco, Paypal, Airbnb gibi bir çok kuruluş kullanıyor.

Nagios Özellikleri Nelerdir?

  • HTTP, SMTP, HTTP, SNMP, FTP, SSH, POP vb. servisleri takip edebilir.
  • Her tür ağ veya sunucu sorununu algılar.
  • Sunucu performansı sorunlarını izlemenizi ve gidermenizi sağlar.
  • Ağ hatalarını veya sunucu çökmelerini tespit etmenize yardımcı olur.
  • Otomatik uyarı gönderme
  • Otomatik olarak problem giderme
  • Eklenti seçenekleri
  • Özelleştirilebilir raporlar

ve daha bir çok özelliği bulunur.

Nagios ile, Linux hosting, Windows Hosting ve Sanal Sunucularınızın, cpu, ram, disk durumunlarını kontrol edebilir ağ trafiğini ölçebilirsiniz. Ayrıca sunucularınızın üzerinde bir çok servisin çalışıp çalışmadığını anlık olarak görüntüleyebilirsiniz.

Nagios Core Sistem Gereksinimleri – System Requirements

Donanım Gereksinimleri;

  • 1GHz İşlemci
  • 1GB Ram
  • 8GB HDD

Yazılım Gereksinimleri;

Nagios Core, Unix ve Linux dağıtımlarının bir çoğunda çalışmaktadır. Desteklenen işletim sistemleri şu şekildedir;

  • Centos
  • Redhat
  • Freebsd
  • Arch Linux
  • Debian
  • MacOS X
  • Fedora
  • Solaris
  • Gentoo
  • Raspbian
  • Ubuntu
  • Suse

Ayrıca web server, PHP, Mysql ve bazı PHP kütüphanelerine (GD, Mysql, Freetype vb.) ihtiyaç duyuyor.

Nagios Kurulumu

Kurulum için Freebsd 11 işletim sistemini kullanacağız. Bir sonraki yazımızda ise Centos 7 üzerine kurulum yapacağız.

Freebsd üzerine Nagios Kurulumu

Yukarıda belirttiğimiz gibi, Nagios, çalışmak için, web sunucu, PHP ve bazı PHP kütüphanelerine ihtiyaç duyuyor. GD, Freetype ve Tidy extensionları kurulu olması gerekiyor. Burda anlatmak oldukça uzun süreceğinden, bu kurulumlar için bu linkten yardım alabilirsiniz. Biz direkt olarak Nagios kurulumuna geçelim.

Nagios’un neredeyse her proses kontrolü için eklentisi bulunuyor. Örneğin CPU kontrolü yapacaksanız, nagios-check_cpu_usage eklentisini kurmamız gerekiyor. Şimdilik direkt kurulum yapıp, bu işlemleri daha sonra yapacağız.

cd /usr/ports/net-mgmt/nagios
make config

NAGPLUGINS’i seçip ok diyelim ve kurulumu başlatalım;

make install clean

nagios-plugins kurulumu ekranında ihtiyacınız olan, eklentileri işaretleyebilirsiniz. Fakat daha sonra da bu kurulumları yapabiliriz.

Ekranda, FPING, Mysql ve ve NETSNMP seçeneklerini işaretleyebilirsiniz. “OK” diyerek kuruluma devam ediyoruz.

Kurulum bittikten sonra;

echo nagios_enable=”YES” >> /etc/rc.conf

Apache için httpd.conf dosyamıza aşağıdaki satırları yazalım;

ee /usr/local/etc/apache24/httpd.conf
   <Directory /usr/local/www/nagios>
     Order deny,allow
     Deny from all
     Allow from 127.0.0.1
     php_flag engine on
     php_admin_value open_basedir /usr/local/www/nagios/:/var/spool/nagios/
   </Directory>

   <Directory /usr/local/www/nagios/cgi-bin>
     Options ExecCGI
   </Directory>

   ScriptAlias /nagios/cgi-bin/ /usr/local/www/nagios/cgi-bin/
   Alias /nagios/ /usr/local/www/nagios/

Nagios dizininde bulunan config dosyalarının uzantılarını değiştireceğiz. Dosyaları kopyalayalım ve varsayılan dosyaları olduğu gibi bırakalım.

cd /usr/local/etc/nagios/
cp cgi.cfg-sample cgi.cfg
cp nagios.cfg-sample nagios.cfg
cp resource.cfg-sample resource.cfg

Aynı işlemi “objects” dizini içerisinde de yapıyoruz.

cd /usr/local/etc/nagios/objects/
cp commands.cfg-sample commands.cfg
cp contacts.cfg-sample contacts.cfg
cp localhost.cfg-sample localhost.cfg 
cp printer.cfg-sample printer.cfg
cp switch.cfg-sample switch.cfg
cp templates.cfg-sample templates.cfg 
cp timeperiods.cfg-sample timeperiods.cfg

Nagios yapılandırmamızı test edelim;

nagios -v  /usr/local/etc/nagios/nagios.cfg

Zaten herhangi bir işlem yapmadığımız için yapılandırmayı onaylayacaktır.

“Things look okay – No serious problems were detected during the pre-flight check” cümlesini gördüyseniz herhangi bir problem yok demektir.

Nagios servisini başlatalım;

/usr/local/etc/rc.d/nagios start

Web servisi yeniden başlattığımızda, Nagios web arayüzüne http://ipadresi/nagios şeklinde ulaşmamız gerekiyor.

Freebsd üzerinde Nagios kurulum işlemlerimiz tamamlandı. Nagios dosyaları hakkında kısa bilgiler verelim.

Freebsd üstünde Nagios yapılandırma dosyaları /usr/local/etc/nagios dizininde bulunur. Burada dosyalar kısaca şu şekildedir;

cgi.cfg : CGI ile yapılandırmalar tutulur. Web arayüzüne ait işlemler bu dosyadan gerçekleştirilir. Yani web arayüzünün yolunu (path) değiştirirseniz bu dosyada da değişiklik yapmanız gerekir.

nagios.cfg : Ana yapılandırma dosyasıdır. Monitör etmek istenilen istemciler (hostlar) bu dosyaya eklenir.

resource.cfg : Kullanacağımız eklentiler bu dosyaya ekleyeceğiz.

Diğer bir dizinimiz bir alt dizin olan /usr/local/etc/nagios/objects dizinidir. Buradaki dosyalar ile şu şekildedir;

commands.cfg : İstemcilerimize ait kontrol ve monitör etmek istediğimiz parametrelerin komutları bu dosyadadır.

contacts.cfg : Nagios check ettirdiğiniz ve karşılığı olumsuz dönem ibarelerde uyarı verir. Bu dosyada uyarı gönderilecek kişi veya kişilerin bilgileri bulunur.

localhost.cfg : Nagios üzerinde tanımlanılan her host için bir cfg dosyayı yaratabiliriz. Örneğin linux_sunucu.cfg şeklinde. Localhost.cfg de bu dosyaların aynısıdır ve direkt Nagios tarafından oluşturulmuştur.

printer.cfg : Yazıcılardan almak istediğimiz verilere ait örnek bir dosyadır.

switch.cfg : Switch cihazlardan almak istediğimiz verileri örnekleyen dosyadır.

templates.cfg : Her host için ayrı değişken oluşturmaktansa bu dosyada bir değişken oluşturup, hostlara tanımlama yapabiliyoruz.

Nagios’a ait yapılandırma dosyaları bu şekildedir. Bir sonraki incelememiz Nagios üzerinde yapılandırma işlemleri gerçekleştirip, örnek senaryolar ile hostlarımızı monitör edeceğiz.