Nagios Kurulumu ve Yapılandırması

IT sektöründe en önemli kural sistemin devamlı ayakta kalmasıdır. Tabi sıfır tolerans yani sıfır hata ile tıkır tıkır çalışan bir sistem bulunmuyor.Bunun yerine  oluşabilecek hataları olabildiğince minimize etmenin yollarını sürekli aramaktayız.Güncel sistemler, gelişmiş yazılım ve sistemler, donanım veya yazılım taraflı firewall, ups vb gibi bir çok teknolojiyi yazabiliriz. Bunlarında tabi sorunsuz çalışması neredeyse imkansız. Kısaca sektörün bu aktif durumunu özetledikten sonra “peki ya hepsini nasıl kontrol edebiliriz?” sorularını duyar gibiyiz.

Yapıyı nasıl kontrol edebiliriz?
Burada sistem ve network tarafında yer alan kontrollerden bahsedeceğim.

Sunuculara kurulacak olan bir yazılım ve agent (takip etmek için kullanılan yazılım) ile tüm sistem hizmetlerini, network trafiğini, sanal sunucuları ve web siteleri takip etmemiz mümkün.
IT sektöründe monitoring personellerinin tek görevi zaten bu, tüm gün boyunca ekrandan sistemi izlemek.

Takip etmek nedir?
Sunucuların içerisine kurduğumuz bir agent o sunucu hakkında tüm servisleri ve ağı belirli periyotlarla kontrol eder ve doğrudan kontrol ekranına durumunu iletir. Herhangi bir olumsuz durumda size mail, sms gibi özelliklerle ile bilgi verir. Tabi sistemin devamlılığı sizin için önemli ise bir monitoring personeliniz mutlaka bulunmalıdır.

Monitoring hakkında gerekli bilgileri verdikten sonra Nagios’a hızlıca geçelim.

Nagios ,  bir sistem ve ağ denetleme uygulamasıdır. Nagios günümüzde oldukça yaygın olarak kullanılan GPL lisanslı ve açık kaynak kodlu bir network monitoring sistemidir. Esnek bir yapıya sahip olduğu için kullanımı oldukça rahat. Hemen hemen aklınıza gelebilecek bir çok cihazı ve ürünü monitor edebiliriz.

Neden ihtiyaç duyarız?

Burada asıl ihtiyaç duyulan nagios değil.Asıl amaç monitoring işlemi.Buna ihtiyaç duyarız çünkü sunucumuzda o an ne oluyor ne bittiğini anlamak için  monitoring işlemimine gerek duyarız.Sistemi izlemek tüm sistem yöneticilerinin en doğal hakkıdır. Peki sistemde ne oluyor ne bitiyor görmek için biz illa araçlara mı ihtiyaç duyarız? Tabii ki de hayır! Bunun için araçlara ihtiyacımız yok, araçlar sadece işleri bir nokta daha kolaylaştırıyor bizim için. Nagios da bu araçların en popüler olanlarından bir tanesi haline gelmiş durumda.

 

NAGIOS ile yapılabilecekler ;

• Network servisleri denetleneme (SMTP, POP3, HTTP, NNTP, PING, vs)
• Makine kaynakları denetleneme (disk kullanımı vs )
• Otomatik log döndürme (log rotation)
• Belirtilen servisler yada makineler üzerinde belirtilen durumlarda kullanıcıya çeşitli
yöntemlerle uyarı verme
• Mail , SMS , Telefon , ICQ vb yöntemlerle uyarı verebilme
• Web arayüzünden makinelerin , servislerin ,logların ayrıntılı takibi
olarak sıralanabilir.Birçok işlemler yapılabilir bunlar benim aklıma gelen ilk şeyler daha bu işlerin türevi şeklinde birçok kontrol ve müdahale şeklinde nagios ‘u daha donanımlı hale getirebiliriz.

Nagios’un Çalışma Şekli

Nagios, uygulama olarak kurulduğu host makinede çalışır. Nagios’un üzerinde tanımlı pluginler bulunur. Bu pluginler kurulumla beraber default olarak 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.

 

Sistem Gereksinimleri

Nagios’u çalıştırabilmek için yüklü olması gereken yazılımlar aşağıdaki gibidir.

  • Web arayüzü için bir web server (Apache)
  • StatusMap ve Trends gibi raporlama araçları için GD Kütüphanesi

Kurulum adımında, işe ilk olarak bu yazılımları yükleyerek başlayacağız.

Şimdi Nagios çalışma prenbisi bölümünde sık sık değindiğimiz  NRPE değinelim.

NRPE (Nagios Remote Plugin Executor) yani Nagios kurulu herhangi bir uzak makinenin linux hizmetlerini yada ağ aygıtlarını izleme olanağı sağlayan bir sistemdir. Uzak Linux makinelerde CPU yükü, swap, hafıza kullanımı, online kullanıcılar gibi bilgileri yerel bir makineden izleme olanağı sağlar.Nagios sistemlere bir daemon (servis) olarak kurulur ve küçük bir yapılandırma dosyası bulunur. Yazının ilgili bölümünde değineceğim gibi NRPE’nin kurulumu oldukça kolaydır ve Nagios için güzel bir agenttir.Genel anlamda Nagios ile ilgili teorik bilgiler bu kadardı. Elimden geldiğince uzatmamaya gayret ettim ama işte konu konuyu açıyor ve olayı tam olarak kavrayabilmek için değinilmesi gereken noktalar bulunuyor.

 

Nagios Kurulumu

Nagios’un kurulumu oldukça kolay.Birkaç adım da kurulumu tamamlamak mümkün.Temel olarak hazırlık aşmasında önceden sistemde kurulması gereken paketleri yükleyeceğiz.Daha sonra nagios ve pluginlerini kaynak koddan kuracağız.Nagios kurulumunu Centos 8 işletim sistemi üzerinde yapacağız.

 

Kurulum Adımları

NOT:SElinux’ u devre dışı bırakın
Kuruluma başlamadan önce, SElinux’ u devre dışı bırakmanız gerekiyor.

setenforce 0
 vim /etc/selinux/config
 SELINUX=disabled

Nagios, sistem durumunu online görüntülemek üzere bir web sunucusuna ve StatusMap, Trends gibi CGI tabanlı raporlama araçları için GD kütüphanesine ihtiyaç duruyor.

 

Adım-1: LAMP Stack Kurulumu

Nagios’un beklendiği gibi çalışması için, bir tarayıcıda çalışacağı için LAMP yığınını veya başka bir web barındırma yığınını yüklemeniz gerekir. Bunu başarmak için şu komutu yürütün:

 

# dnf install httpd mariadb-server php-mysqlnd php-fpm

 

 

Apache web sunucusunun çalışır durumda olduğundan emin olmanız gerekir. Bunu yapmak için, komutları kullanarak Apache sunucusunu başlatın ve etkinleştirin:

 

# systemctl start httpd
# systemctl enable httpd

 

Apache sunucusunun çalışıp çalışmadığını kontrol etmek için aşağıdaki komut kullanılır.

# systemctl status httpd

 

Ardından, MariaDB sunucusunu başlatmalı ve etkinleştirmeliyiz, aşağıdaki komutları çalıştırmalıyız:

 

# systemctl start mariadb
# systemctl enable mariadb

 

 

MariaDB ‘nin çalışıp çalışmadığını kontrol etmek için aşağıdaki komut kullanılır:

 

# systemctl status mariadb

 

Ayrıca, sunucumuzu dışardan erişimlere ve yetkisiz erişimleri engellemek için aşağıdaki komutu kullanmalıyız:

 

# mysql_secure_installation

 

MySQL örneğiniz için güçlü bir parola belirlediğinizden emin olun. Sonraki istemler için Evet yazın ve ENTER tuşuna basın

 

2. Adım: Gerekli paketleri yükleyin

LAMP’ı sunucuya kurmanın yanı sıra, Nagios’un kurulumu ve doğru yapılandırılması için bazı ek paketler gereklidir. Bu nedenle, paketleri aşağıda gösterildiği gibi kurun:

 

# dnf install gcc glibc glibc-ortak wget gd gd-devel perl postfix

 

3. Adım: Nagios kullanıcı hesabı oluşturun

Ardından, Nagios kullanıcısı için bir kullanıcı hesabı oluşturmamız gerekiyor. Bunu başarmak için şu komutu çalıştırın:

# adduser nagios 
# passwd nagios

 

Şimdi, Nagios için bir grup oluşturmalı ve Nagios kullanıcısını bu gruba eklemeliyiz.

# groupadd nagiosxi

Şimdi Nagios kullanıcısını gruba ekleyin

# usermod -aG nagiosxi nagios

Ayrıca, Nagios grubuna Apache kullanıcısı ekleyin

# usermod -aG nagiosxi apache

 

 

4. Adım: Nagios indirin ve yükleyin

Şimdi devam edip Nagios’u kurabiliriz. Nagios 4.4.5’teki en son kararlı sürüm 19 Ağustos 2019’da piyasaya sürüldü. Önce Nagios tarball dosyasını resmi sitesinden indirin.

Nagios ‘u indirmek için önce tmp dizinine gidin

# cd / tmp

Sonra Nagios torball dosyasını indirin:

# wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.4.5.tar.gz

 

İndirmiş olduğumuz nagios dosyasını tar komutu ile çıkartmamız gerekiyor:

# tar -xvf nagios-4.4.5.tar.gz

Daha sonra çıkartılan dosyaya gitmemiz gerekiyor.

# cd nagios-4.4.5

Aşağıdaki komutları bu sırayla çalıştırın:

# ./configure --with-command-group = nagcmd 
# make all 
# make install 
# make install-init 
# make install-daemoninit 
# make install-config 
# make install-commandmode 
# make install-exfoliation

Apacahe yapılandırılmasını yapmak için aşağıdaki komutu kullanın:

# make install-webconf

5. Adım: Apache Web Sunucusunun Kimlik Doğrulaması ve Yapılandırılması

Ardından, kullanıcı nagiosadmin için kimlik doğrulama ayarlayacağız . Lütfen kullanıcı adını değiştirmemeye dikkat edin, aksi takdirde oldukça sıkıcı olabilecek başka yapılandırmalar yapmanız gerekebilir.

Kimlik doğrulamasını ayarlamak için şu komutu çalıştırın:

# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

 

Nagiosadmin kullanıcısının şifresini girmeniz istenir.İstediğiniz bir şifreyi girin.Bu yazı sonunda Nagios uygulamasını ayağa kaldırdığımızda oturum açmak için bu bilgileri kullanacağız.Yaptığımız değişiklikleri alması için web server’i restart etmemiz gerekiyor.

# systemctl restart httpd

 

Adım 6: Nagios Eklentilerini indirin ve yükleyin

Eklentiler Nagios Sunucusunun işlevselliğini artıracaktır. Çeşitli hizmetleri, ağ cihazlarını ve uygulamaları izlemenize yardımcı olurlar. Eklenti tarball dosyasını indirmek için şu komutu çalıştırın:

# wget https://nagios-plugins.org/download/nagios-plugins-2.2.1.tar.gz

Ardından, tarball dosyasını çıkarın ve sıkıştırılmamış eklenti klasörüne gidin:

# tar -xvf nagios-plugins-2.2.1.tar.gz 
# cd nagios-plugins-2.2.1

Eklentileri kurmak için kaynak kodunu gösterildiği gibi derleyin:

# ./configure --with-nagios-user = nagios --with-nagios-group = nagiosxi 
# make 
# make install

 

7. Adım: Nagios’u Doğrulayın ve Başlatın

Nagios eklentilerinin başarıyla yüklenmesinden sonra, her şeyin iyi olduğundan ve yapılandırmada hata olmadığından emin olmak için Nagios yapılandırmasını doğrulayın:

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

 

Ardından, Nagios’u başlatın ve durumunu doğrulayın

# systemctl start nagios
# systemctl status nagios

 

Sunucu da test edebilmemiz Firewall ayarlarında 80 portuna izin vermemiz gerekiyor.

# firewall-cmd --permanent --add-port=80/tcp
# firewall-cmd --reload

 

Adım 8: Nagios kontrol paneline web tarayıcısı üzerinden erişin

Nagios’a erişmek için, sunucunuzun IP adresine gösterildiği gibi göz atın.Ben kendi üzerinde deneyeceğim için aşağıdaki gibi tarayıcıya yazıyorum.

http: // sunucu-ip /nagios

Bir pop-up ‘adı ve daha önce kimlik bilgilerini girin 5. Adım oluşturan kullanıcının şifre sorulmaz ve isabet görünür Giriş Yap ‘

 

 

 

Bu sizi aşağıda gösterildiği gibi Nagios kontrol paneline yönlendirir:

 

 

You may also like...

4 Responses

  1. İlker ÇİFTÇİ dedi ki:

    Elinize sağlık, çok faydalı bir doküman olmuş. Tesekkur ederim.
    Kurulum sonrası konfigürasyon için de devamını bekliyoruz.

    • System Engineer And Coder-Man dedi ki:

      Güzel düşünceleriniz için çok teşekkür ederim.
      Konfigürasyon ile yazımı da hazırlıyorum en kısa sürede paylaşacağım.

Bir cevap yazın

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