Nagios 4 Kurulumu ve Ubuntu 18.04 Üzerinde Sunucularınızı İzleme
Giriş
Günümüzün hızla gelişen dijital dünyasında, sunucuların ve ağ altyapısının kesintisiz çalışması, iş sürekliliği için hayati öneme sahiptir. Bir sunucunun veya hizmetin beklenmedik bir şekilde durması, maliyetli kesintilere, veri kaybına ve müşteri memnuniyetsizliğine yol açabilir. Bu nedenle, sistem yöneticilerinin sunucu performansını ve durumunu sürekli olarak izleyebilecekleri güvenilir bir araç setine sahip olmaları kritik öneme sahiptir. İşte tam bu noktada, Nagios gibi güçlü izleme çözümleri devreye girer.
Nagios, açık kaynaklı ve son derece esnek bir izleme sistemi olup, sunucularınızı, ağ cihazlarınızı, uygulamalarınızı ve hizmetlerinizi proaktif olarak izlemenizi sağlar. Herhangi bir sorun tespit edildiğinde, Nagios sizi anında uyararak, olası bir kesintiye müdahale etme ve sorunu çözme fırsatı sunar. Bu makalede, Nagios Core 4’ü Ubuntu 18.04 işletim sistemi üzerine nasıl kuracağınızı ve sunucularınızı etkin bir şekilde izlemek için nasıl yapılandıracağınızı adım adım detaylandıracağız.
Nagios Nedir?
Nagios (Network Anomaly Guardian Object System), sunucular, anahtarlar, yönlendiriciler, uygulamalar ve hizmetler dahil olmak üzere BT altyapınızdaki çeşitli bileşenleri izlemek için tasarlanmış güçlü bir açık kaynaklı izleme sistemidir. Temel olarak, Nagios sürekli olarak önceden tanımlanmış parametreleri kontrol eder ve bu parametrelerde herhangi bir anormallik veya eşik ihlali tespit ettiğinde sizi uyarır.
Nagios’un temel özellikleri şunlardır:
* Kapsamlı İzleme: CPU kullanımı, bellek, disk alanı, ağ trafiği, çalışan servisler, süreçler ve daha fazlası gibi birçok metrik izlenebilir.
* Uyarı Sistemi: E-posta, SMS veya özel betikler aracılığıyla kritik sorunlar hakkında bildirimler gönderir.
* Genişletilebilirlik: Binlerce topluluk eklentisi sayesinde hemen hemen her şeyi izleyebilir.
* Web Arayüzü: İzlenen tüm bileşenlerin durumunu, geçmiş verilerini ve raporları görüntüleyebileceğiniz merkezi bir web arayüzü sunar.
* Sorun Giderme: Sorunların kök nedenini hızlı bir şekilde belirlemeye yardımcı olan detaylı hata mesajları ve performans verileri sağlar.
Neden Nagios Kullanmalıyız?
Nagios kullanmak, bir kuruluş için birçok avantaj sunar:
* Proaktif Sorun Tespiti: Sorunlar, kullanıcılar etkilenmeden önce tespit edilir ve çözülür. Bu, hizmet kesintilerini minimuma indirir.
* İş Sürekliliği: Kritik sistemlerin sürekli izlenmesi, iş sürekliliğini sağlamaya yardımcı olur.
* Performans İyileştirme: Performans metriklerini izleyerek darboğazlar tespit edilebilir ve sistemler optimize edilebilir.
* Kaynak Optimizasyonu: Sunucu kaynaklarının (CPU, RAM, disk) verimli kullanılıp kullanılmadığını anlamanıza yardımcı olur.
* Güvenlik: Belirli güvenlik olaylarını veya yetkisiz erişim denemelerini izlemek için kullanılabilir.
* Raporlama ve Analiz: Geçmiş performans verileri ve olay günlükleri, eğilimleri analiz etmek ve gelecekteki kapasite planlaması yapmak için kullanılabilir.
* Maliyet Tasarrufu: Kesintilerden kaynaklanan maliyetleri azaltır ve manuel izleme için harcanan zamanı optimize eder.
Ön Gereksinimler
Nagios Core 4’ü Ubuntu 18.04 üzerine kurmadan önce, aşağıdaki ön gereksinimlerin karşılandığından emin olun:
* İşletim Sistemi: Ubuntu 18.04 (64-bit) sunucusu.
* Kullanıcı Yetkileri: sudo yetkilerine sahip bir kullanıcı veya root erişimi.
* İnternet Bağlantısı: Gerekli paketleri indirmek için aktif internet bağlantısı.
* Apache Web Sunucusu: Nagios web arayüzü için gereklidir.
* PHP: Web arayüzünün çalışması için PHP ve ilgili modüller.
* Derleyici Araçları: Nagios kaynak kodunu derlemek için build-essential paketi.
Bu makalede, tüm kurulumu sıfırdan gerçekleştireceğiz.
Nagios Core 4 Kurulumu
Nagios Core 4’ü kaynak koddan derleyerek kuracağız. Bu yöntem, size en güncel sürümü kullanma ve kurulum üzerinde daha fazla kontrol sağlama imkanı sunar.
Sistem Güncelleme ve Bağımlılıkların Kurulumu
İlk adım olarak, sisteminizi güncelleyelim ve Nagios’un çalışması için gerekli olan bağımlılıkları kuralım.
sudo apt update
sudo apt upgrade -y
sudo apt install -y build-essential apache2 php libapache2-mod-php php-gd libgd-dev openssl libssl-dev xinetd unzip
* build-essential: Kaynak koddan derleme için gerekli araçları içerir.
* apache2: Nagios web arayüzünü barındıracak web sunucusu.
* php, libapache2-mod-php, php-gd: PHP desteği ve grafikler için gerekli modüller.
* libgd-dev: Grafik kütüphanesi geliştirme dosyaları.
* openssl, libssl-dev: SSL/TLS desteği için.
* xinetd: NRPE (Nagios Remote Plugin Executor) için kullanılacak bir süper sunucu.
* unzip: İndirilen arşiv dosyalarını açmak için.
Nagios Kullanıcısı ve Grubu Oluşturma
Nagios, kendi özel kullanıcısı ve grubu altında çalışmalıdır. Ayrıca, Apache web sunucusunun Nagios komutlarına erişebilmesi için www-data kullanıcısını nagios grubuna eklememiz gerekiyor.
sudo useradd -m -s /bin/bash nagios
sudo groupadd nagcmd
sudo usermod -a -G nagcmd nagios
sudo usermod -a -G nagcmd www-data
Nagios Kaynak Kodunu İndirme
Nagios Core 4’ün en son sürümünü resmi web sitesinden indireceğiz. Bu örnekte, Nagios Core 4.4.6 sürümünü kullanacağız. Farklı bir sürüm kullanıyorsanız, URL’yi buna göre değiştirin.
cd /tmp
wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.4.6.tar.gz
tar xzf nagios-4.4.6.tar.gz
cd nagios-4.4.6
Nagios Kaynak Kodunu Derleme ve Kurulum
Şimdi Nagios kaynak kodunu derleyip kurma zamanı. ./configure komutu, sisteminiz için uygun yapılandırmayı oluşturur. make all kodu derler ve make install gerekli dosyaları sisteminize kopyalar.
./configure --with-nagios-group=nagios --with-nagcmd-group=nagcmd
make all
sudo make install
sudo make install-init
sudo make install-config
sudo make install-commandmode
* --with-nagios-group=nagios: Nagios’un çalışacağı kullanıcı grubunu belirtir.
* --with-nagcmd-group=nagcmd: Nagios komutlarına erişim için kullanılacak grubu belirtir.
* make install-init: Nagios başlatma betiklerini /lib/systemd/system/ dizinine kurar.
* make install-config: Örnek yapılandırma dosyalarını /usr/local/nagios/etc/ dizinine kurar.
* make install-commandmode: Dış komut dosyasını kurar.
Web Arayüzü Kurulumu
Nagios web arayüzünü kurmak ve Apache ile entegre etmek için aşağıdaki komutları kullanın.
sudo make install-webconf
sudo a2enmod rewrite
sudo a2enmod cgi
sudo systemctl restart apache2
Şimdi Nagios web arayüzü için bir yönetici kullanıcısı (nagiosadmin) ve şifre oluşturalım.
sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
Bu komut sizden nagiosadmin kullanıcısı için bir şifre girmenizi isteyecektir. Güçlü bir şifre belirlediğinizden emin olun.
Nagios Komut Dosyalarını Yapılandırma
Nagios’un örnek yapılandırma dosyalarını kurduk. Şimdi bunları kullanıma hazır hale getirelim.
sudo chown -R nagios:nagios /usr/local/nagios/
sudo chown -R nagios:nagcmd /usr/local/nagios/var/rw/
sudo chmod -R ug+rwx /usr/local/nagios/var/rw/
Bu komutlar, Nagios dizinlerinin ve komut borularının doğru izinlere sahip olmasını sağlar.
Nagios Servisini Başlatma
Nagios yapılandırmasını kontrol edelim ve servisi başlatalım.
sudo /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Yukarıdaki komut, yapılandırma dosyasında herhangi bir hata olup olmadığını kontrol eder. Eğer “Total Errors: 0” mesajını görürseniz, her şey yolunda demektir.
Şimdi Nagios servisini başlatabilir ve sistem başlangıcında otomatik başlamasını sağlayabiliriz:
sudo systemctl start nagios
sudo systemctl enable nagios
Web Arayüzüne Erişim
Artık bir web tarayıcısı açıp Nagios web arayüzüne erişebilirsiniz. Sunucunuzun IP adresini veya alan adını kullanarak aşağıdaki adrese gidin:
http:///nagios
Karşınıza bir kimlik doğrulama penceresi çıkacaktır. Az önce oluşturduğunuz nagiosadmin kullanıcı adı ve şifresini girin. Başarılı bir şekilde giriş yaptıktan sonra Nagios durum özetini göreceksiniz.
Nagios Eklentileri (Plugins) Kurulumu
Nagios, izleme yeteneklerinin çoğunu eklentiler aracılığıyla sağlar. Bu eklentiler, CPU kullanımı, disk alanı, çalışan süreçler gibi çeşitli sistem metriklerini kontrol eden küçük betikler veya programlardır.
Nagios Eklentilerini İndirme
Eklentileri de kaynak koddan indireceğiz.
cd /tmp
wget https://nagios-plugins.org/download/nagios-plugins-2.3.3.tar.gz
tar xzf nagios-plugins-2.3.3.tar.gz
cd nagios-plugins-2.3.3
Nagios Eklentilerini Derleme ve Kurulum
Eklentileri derleyip Nagios’un eklenti dizinine kuralım.
./configure --with-nagios-user=nagios --with-nagios-group=nagios
make
sudo make install
Bu işlem, eklentileri /usr/local/nagios/libexec dizinine kuracaktır. Nagios bu dizini otomatik olarak eklentiler için kullanır.
NRPE Eklentisi Kurulumu
NRPE (Nagios Remote Plugin Executor), Nagios sunucusunun uzak Linux/Unix makinelerindeki yerel kaynakları ve hizmetleri izlemesini sağlayan bir eklentidir. Örneğin, uzak bir sunucudaki CPU kullanımını veya disk alanını kontrol etmek için NRPE’ye ihtiyacınız vardır.
NRPE Nedir?
NRPE, Nagios sunucusu ile uzak sunucu arasında güvenli bir iletişim kanalı sağlar. Nagios sunucusu, NRPE aracılığıyla uzak sunucudaki bir eklentiyi çalıştırır ve eklentinin çıktısını Nagios sunucusuna geri döndürür. Bu sayede, uzak sunucunun kendi kaynaklarını izlemesi ve bu bilgiyi Nagios’a iletmesi mümkün olur.
Nagios Sunucusunda NRPE Kurulumu
Nagios sunucusunun uzak sunucularla iletişim kurabilmesi için NRPE eklentisine ihtiyacı vardır.
cd /tmp
wget https://github.com/NagiosEnterprises/nrpe/releases/download/nrpe-4.0.3/nrpe-4.0.3.tar.gz
tar xzf nrpe-4.0.3.tar.gz
cd nrpe-4.0.3
./configure --enable-command-args --with-nagios-user=nagios --with-nagios-group=nagios --with-ssl --with-ssl-lib=/usr/lib/x86_64-linux-gnu
make all
sudo make install
sudo make install-plugin
sudo make install-daemon
sudo make install-daemon-config
* --enable-command-args: Uzak sunucuda komutlara argüman geçirmeyi etkinleştirir. Bu, eklentilerin daha esnek olmasını sağlar.
* --with-ssl: SSL/TLS şifrelemesini etkinleştirir. Güvenli iletişim için önemlidir.
* --with-ssl-lib=/usr/lib/x86_64-linux-gnu: OpenSSL kütüphanesinin konumunu belirtir.
NRPE’yi xinetd üzerinden çalıştıracağız. Bunun için /etc/xinetd.d/nrpe dosyasını düzenlememiz gerekecek, ancak önce servis tanımını yapalım.
sudo echo "nrpe 5666/tcp" >> /etc/services
Şimdi NRPE yapılandırma dosyasını düzenleyelim:
sudo nano /usr/local/nagios/etc/nrpe.cfg
Bu dosyada, allowed_hosts satırını bulun ve Nagios sunucunuzun IP adresini ekleyin. Birden fazla IP adresi virgülle ayrılabilir.
allowed_hosts=127.0.0.1,
NRPE servisini xinetd üzerinden başlatmak için aşağıdaki komutları kullanın:
sudo systemctl restart xinetd
sudo systemctl enable xinetd
İzlenecek Uzak Sunucuda NRPE Kurulumu
Şimdi izlemek istediğimiz uzak Linux sunucusuna NRPE eklentisini kurmalıyız. Bu adımları her bir uzak sunucu için tekrarlamanız gerekecektir.
Bağımlılıkların Kurulumu
Uzak sunucuda da gerekli bağımlılıkları kuralım:
sudo apt update
sudo apt upgrade -y
sudo apt install -y build-essential libssl-dev xinetd openssl
NRPE Kullanıcısı ve Grubu Oluşturma
Uzak sunucuda Nagios kullanıcısı ve grubu oluşturun:
sudo useradd -m -s /bin/bash nagios
sudo groupadd nagcmd
sudo usermod -a -G nagcmd nagios
NRPE Kaynak Kodunu İndirme
Uzak sunucuda da NRPE kaynak kodunu indirelim:
cd /tmp
wget https://github.com/NagiosEnterprises/nrpe/releases/download/nrpe-4.0.3/nrpe-4.0.3.tar.gz
tar xzf nrpe-4.0.3.tar.gz
cd nrpe-4.0.3
NRPE Kaynak Kodunu Derleme ve Kurulum
NRPE’yi derleyip kuralım:
./configure --enable-command-args --with-nagios-user=nagios --with-nagios-group=nagios --with-ssl --with-ssl-lib=/usr/lib/x86_64-linux-gnu
make all
sudo make install
sudo make install-plugin
sudo make install-daemon
sudo make install-daemon-config
sudo make install-xinetd
* make install-xinetd: NRPE’yi xinetd üzerinden çalıştırmak için gerekli yapılandırma dosyasını kurar.
NRPE Yapılandırma Dosyasını Düzenleme
Uzak sunucuda NRPE yapılandırma dosyasını düzenleyelim:
sudo nano /usr/local/nagios/etc/nrpe.cfg
Bu dosyada allowed_hosts satırını bulun ve Nagios sunucunuzun IP adresini ekleyin:
allowed_hosts=127.0.0.1,
Ayrıca, NRPE’nin çalıştırabileceği komutları da bu dosyada tanımlamanız gerekir. Örneğin, disk kullanımını kontrol etmek için:
command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10
command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20
command[check_disk]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /
Bu komutlar, Nagios sunucusundan çağrıldığında uzak sunucuda çalışacak olan Nagios eklentileridir.
NRPE Servisini Başlatma
NRPE’yi xinetd üzerinden başlatmak için uzak sunucuda aşağıdaki komutları kullanın:
sudo echo "nrpe 5666/tcp" >> /etc/services
sudo systemctl restart xinetd
sudo systemctl enable xinetd
Güvenlik Duvarı Ayarları
Hem Nagios sunucusunda hem de izlenecek uzak sunucuda 5666 portunun (NRPE varsayılan portu) açık olduğundan emin olun.
Nagios Sunucusunda:
sudo ufw allow 5666/tcp
sudo ufw allow 80/tcp # Web arayüzü için
sudo ufw reload
Uzak Sunucuda:
sudo ufw allow from to any port 5666
sudo ufw reload
NRPE kurulumunu test etmek için Nagios sunucusunda aşağıdaki komutu çalıştırın:
/usr/local/nagios/libexec/check_nrpe -H
Eğer “NRPE v4.0.3” gibi bir çıktı alırsanız, NRPE başarıyla kurulmuş ve çalışıyor demektir.
Sunucu İzlemeyi Yapılandırma
Nagios, /usr/local/nagios/etc/objects dizininde bulunan yapılandırma dosyaları aracılığıyla izlenecek hostları ve servisleri tanımlar. Örnek yapılandırma dosyaları zaten mevcuttur. Biz kendi yapılandırmalarımızı oluşturacağız.
Temel Yapılandırma Dosyaları
Nagios’un ana yapılandırma dosyası /usr/local/nagios/etc/nagios.cfg‘dir. Bu dosyada, Nagios’un diğer yapılandırma dosyalarını nerede bulacağını belirtiriz. Aşağıdaki satırın yorum satırı olmadığından emin olun (genellikle varsayılan olarak açıktır):
cfg_dir=/usr/local/nagios/etc/objects
Bu, Nagios’un objects dizinindeki tüm .cfg uzantılı dosyaları okuyacağı anlamına gelir.
Host ve Hostgroup Tanımlama
İzlemek istediğimiz hostları (sunucuları) ve hostgroup’ları tanımlayalım.
hosts.cfg Dosyası
/usr/local/nagios/etc/objects/hosts.cfg dosyasını oluşturun veya düzenleyin:
sudo nano /usr/local/nagios/etc/objects/hosts.cfg
Örnek bir host tanımı:
define host{
use linux-server
host_name remote_ubuntu_server
alias Uzak Ubuntu Sunucusu
address
max_check_attempts 5
check_period 24x7
notification_interval 30
notification_period 24x7
notifications_enabled 1
contact_groups admins
icon_image ubuntu.png
statusmap_image ubuntu.png
}
* use linux-server: templates.cfg dosyasında tanımlı linux-server şablonunu kullanır. Bu, ortak ayarları tekrar yazmaktan kaçınmanızı sağlar.
* host_name: Bu host için benzersiz bir isim.
* address: Hostun IP adresi veya alan adı.
* contact_groups: Bu hostla ilgili bildirimleri alacak kişi grupları.
hostgroups.cfg Dosyası
/usr/local/nagios/etc/objects/hostgroups.cfg dosyasını oluşturun veya düzenleyin:
sudo nano /usr/local/nagios/etc/objects/hostgroups.cfg
Örnek bir hostgroup tanımı:
define hostgroup{
hostgroup_name linux-servers
alias Linux Sunucuları
members localhost,remote_ubuntu_server
}
* hostgroup_name: Host grubu için benzersiz bir isim.
* members: Bu gruba dahil olan hostların virgülle ayrılmış listesi.
Servis Tanımlama
İzlemek istediğimiz servisleri tanımlayalım. Bu servisler, belirli hostlarda çalışacak eklentilerdir.
services.cfg Dosyası
/usr/local/nagios/etc/objects/services.cfg dosyasını oluşturun veya düzenleyin:
sudo nano /usr/local/nagios/etc/objects/services.cfg
Örnek servis tanımları:
define service{
use generic-service
host_name remote_ubuntu_server
service_description Uzak SSH Servisi
check_command check_ssh
notifications_enabled 1
contact_groups admins
}
define service{
use generic-service
host_name remote_ubuntu_server
service_description Uzak CPU Yükü
check_command check_nrpe!check_load
notifications_enabled 1
contact_groups admins
}
define service{
use generic-service
host_name remote_ubuntu_server
service_description Uzak Disk Kullanımı (Kök)
check_command check_nrpe!check_disk
notifications_enabled 1
contact_groups admins
}
* use generic-service: templates.cfg dosyasında tanımlı generic-service şablonunu kullanır.
* host_name: Bu servisin izleneceği host.
* service_description: Servisin kısa açıklaması.
* check_command: Servisi kontrol etmek için kullanılacak komut. check_nrpe!check_load örneğinde, check_nrpe komutu çalıştırılır ve check_load argümanı uzak sunucuya gönderilir.
Komut Tanımlama
Nagios’un çalıştırabileceği komutları commands.cfg dosyasında tanımlarız. check_nrpe komutu varsayılan olarak tanımlıdır, ancak uzak sunucudaki NRPE komutlarını çağırmak için argüman alacak şekilde yapılandırıldığından emin olmalıyız.
/usr/local/nagios/etc/objects/commands.cfg dosyasını açın ve check_nrpe tanımını kontrol edin:
sudo nano /usr/local/nagios/etc/objects/commands.cfg
Aşağıdaki gibi bir tanım olmalı:
define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
* $USER1$: /usr/local/nagios/libexec dizinine giden bir makrodur.
* $HOSTADDRESS$: İzlenen hostun IP adresini veya alan adını temsil eder.
* $ARG1$: Servis tanımında ! işaretinden sonra gelen argümanı temsil eder (örneğin check_load).
Kontak Tanımlama
Nagios’un bildirim göndereceği kişi veya grupları tanımlayalım.
contacts.cfg Dosyası
/usr/local/nagios/etc/objects/contacts.cfg dosyasını oluşturun veya düzenleyin:
sudo nano /usr/local/nagios/etc/objects/contacts.cfg
Örnek bir kontakt ve kontakt grubu tanımı:
define contact{
contact_name nagiosadmin
use generic-contact
alias Nagios Admin
email your_email@example.com ; E-posta adresinizi buraya yazın
}
define contactgroup{
contactgroup_name admins
alias Nagios Yöneticileri
members nagiosadmin
}
* email: Bildirimlerin gönderileceği e-posta adresi. Kendi e-posta adresinizle değiştirin.
Yapılandırma Dosyalarını Dahil Etme
Nagios’un yeni oluşturduğumuz yapılandırma dosyalarını tanıması için /usr/local/nagios/etc/nagios.cfg dosyasında bunları dahil etmemiz gerekir. Genellikle objects dizinindeki tüm .cfg dosyaları varsayılan olarak dahildir, ancak emin olmak için kontrol edebilirsiniz.
sudo nano /usr/local/nagios/etc/nagios.cfg
Şu satırların varlığından emin olun ve yorum satırı olmadıklarından emin olun:
cfg_dir=/usr/local/nagios/etc/objects
Nagios Yapılandırmasını Kontrol Etme ve Yeniden Başlatma
Tüm yapılandırma değişikliklerini yaptıktan sonra, Nagios’u yeniden başlatmadan önce her şeyin doğru olduğundan emin olmak için yapılandırmayı kontrol edin.
sudo /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Eğer “Total Errors: 0” mesajını görürseniz, her şey yolunda demektir. Şimdi Nagios servisini yeniden başlatın:
sudo systemctl restart nagios
Web Arayüzünü Kullanma
Nagios web arayüzüne http:///nagios adresinden erişin ve nagiosadmin kullanıcı adı ve şifrenizle giriş yapın.
Ana Sayfa ve Durum Özeti
Ana sayfada, tüm izlenen hostların ve servislerin genel bir durum özetini göreceksiniz. “Hosts” ve “Services” bölümlerinde kritik, uyarı veya bilinmeyen durumdaki öğeleri hızlıca tespit edebilirsiniz.
Hostlar ve Servisler
Sol menüdeki “Hosts” veya “Services” bağlantılarına tıklayarak detaylı listeleri görebilirsiniz.
* Hosts: Tüm izlenen sunucuların listesini, durumlarını (Up/Down), son kontrol zamanlarını ve performans verilerini gösterir. Bir hosta tıklayarak o hostla ilgili tüm servislerin durumunu görebilirsiniz.
* Services: Tüm izlenen servislerin listesini, durumlarını (OK, Warning, Critical, Unknown), hostlarını, son kontrol zamanlarını ve performans verilerini gösterir. Bir servise tıklayarak o servisin detaylı geçmişini, performans grafiğini ve ilgili olayları inceleyebilirsiniz.
Bildirimler ve Raporlar
Nagios, sorunlar hakkında bildirimler göndermenin yanı sıra, geçmiş performans verileri ve olay günlükleri üzerinden raporlar da oluşturabilir.
* Notifications: Nagios’un gönderdiği tüm bildirimlerin bir listesini içerir.
* Reports: Performans eğilimleri, kullanılabilirlik raporları ve olay geçmişi gibi çeşitli raporlar oluşturmanıza olanak tanır. Bu raporlar, sistem performansını analiz etmek ve gelecekteki kapasite planlaması yapmak için çok değerlidir.
Sıkça Sorulan Sorular ve Sorun Giderme
Nagios Web Arayüzüne Erişim Sorunları
* Yetkisiz Erişim (401 Unauthorized): htpasswd komutuyla oluşturduğunuz nagiosadmin şifresinin doğru olduğundan emin olun.
* Sayfa Bulunamadı (404 Not Found): Apache yapılandırmasının doğru olduğundan emin olun. sudo a2enmod rewrite ve sudo a2enmod cgi komutlarını çalıştırdınız mı? Apache servisini yeniden başlattınız mı (sudo systemctl restart apache2)?
* Güvenlik Duvarı: Sunucunuzun güvenlik duvarının (UFW) 80 numaralı portu açık olduğundan emin olun (sudo ufw allow 80/tcp).
NRPE Bağlantı Sorunları
* CHECK_NRPE: Error - Could not complete SSL handshake: Bu genellikle iki nedenden kaynaklanır:
1. Güvenlik Duvarı: Uzak sunucunun 5666 portunun Nagios sunucusu IP’sinden gelen bağlantılara açık olduğundan emin olun (sudo ufw allow from to any port 5666).
2. allowed_hosts: Uzak sunucudaki /usr/local/nagios/etc/nrpe.cfg dosyasında allowed_hosts satırında Nagios sunucusunun IP adresinin doğru yazıldığından emin olun.
* CHECK_NRPE: Command 'check_load' not defined: Uzak sunucudaki /usr/local/nagios/etc/nrpe.cfg dosyasında bu komutun (command[check_load]=...) tanımlı olduğundan emin olun.
* NRPE Servisi Çalışmıyor: Uzak sunucuda sudo systemctl status xinetd komutuyla xinetd servisinin çalıştığından emin olun. Gerekirse sudo systemctl restart xinetd ile yeniden başlatın.
Bildirimlerin Çalışmaması
* E-posta Ayarları: Nagios, bildirimleri göndermek için genellikle bir MTA’ya (Mail Transfer Agent) ihtiyaç duyar (örneğin Postfix veya Sendmail). Sunucunuzda bir MTA kurulu ve yapılandırılmış mı? contacts.cfg dosyasındaki e-posta adresinin doğru olduğundan emin olun.
* notification_period ve notifications_enabled: Host veya servis tanımlarında notifications_enabled parametresinin 1 olarak ayarlandığından ve notification_period‘un doğru olduğundan emin olun.
* Log Kontrolü: Nagios loglarını kontrol edin (/usr/local/nagios/var/nagios.log) ve e-posta gönderme ile ilgili hataları arayın.
Sonuç
Bu kapsamlı makalede, Nagios Core 4’ü Ubuntu 18.04 işletim sistemi üzerine kurma, gerekli eklentileri yapılandırma ve sunucularınızı izlemek için temel yapılandırmaları oluşturma sürecini adım adım ele aldık. Nagios, BT altyapınızın sağlığını ve performansını izlemek için güçlü ve esnek bir araçtır. Doğru yapılandırma ile, olası sorunları proaktif olarak tespit edebilir, kesintileri önleyebilir ve sistemlerinizin sürekli çalışmasını sağlayabilirsiniz.
Nagios’un yetenekleri burada anlatılanların çok ötesindedir. Daha fazla eklenti entegrasyonu, özel bildirim yöntemleri, performans verisi görselleştirme araçları (PNP4Nagios gibi) ve gelişmiş raporlama seçenekleri ile Nagios deneyiminizi daha da zenginleştirebilirsiniz. Bu kurulum, Nagios ile sunucu izleme yolculuğunuzda sağlam bir başlangıç noktası olacaktır. Unutmayın, iyi bir izleme sistemi, herhangi bir modern BT ortamının ayrılmaz bir parçasıdır.
