Ubuntu 16.04 Üzerine Icinga 2 ve Icinga Web 2 Kurulumu
Bu kapsamlı teknik makale, Ubuntu 16.04 işletim sistemi üzerinde Icinga 2 izleme sistemi ve onun web arayüzü olan Icinga Web 2’nin adım adım nasıl kurulacağını ve temel düzeyde nasıl yapılandırılacağını açıklamaktadır. Icinga, geniş ve karmaşık altyapıları izlemek için kullanılan güçlü, açık kaynaklı bir izleme çözümüdür. Sunuculardan ağ cihazlarına, uygulamalardan veritabanlarına kadar her türlü bileşeni izleyebilir, sorunları tespit edebilir ve yöneticileri bilgilendirebilir. Ubuntu 16.04, uzun süreli destek (LTS) sağlayan ve birçok kurumsal ortamda hala kullanılan stabil bir platformdur. Bu makale, Icinga’nın temel bileşenlerinin Ubuntu 16.04 ortamında sorunsuz bir şekilde nasıl çalıştırılacağını detaylandırmaktadır.
Icinga 2 Nedir ve Neden Kullanılır?
Icinga 2, Nagios’tan çatallanmış (fork) ve modern altyapıların ihtiyaçlarını karşılamak üzere geliştirilmiş, güçlü ve esnek bir ağ izleme sistemidir. Yüksek performans, dağıtık izleme yetenekleri, esnek yapılandırma seçenekleri ve genişletilebilirliği ile öne çıkar. Icinga 2, sistemlerin ve uygulamaların durumunu sürekli kontrol ederek olası sorunları proaktif bir şekilde tespit etmeye yardımcı olur. Bu sayede, hizmet kesintileri önlenebilir veya en aza indirilebilir, operasyonel verimlilik artırılabilir ve sistemlerin genel sağlığı hakkında değerli bilgiler elde edilebilir.
Icinga 2’nin temel özellikleri şunlardır:
* Yüksek Performans: Büyük ölçekli ortamları bile verimli bir şekilde izleyebilir.
* Dağıtık Mimari: İzleme yükünü birden fazla sunucuya yayarak ölçeklenebilirlik sağlar.
* Esnek Yapılandırma: Güçlü bir yapılandırma dili (DSL) kullanarak izleme nesnelerini ve kurallarını kolayca tanımlamanıza olanak tanır.
* Gelişmiş Bildirimler: E-posta, SMS, anlık mesajlaşma gibi çeşitli kanallar aracılığıyla özelleştirilebilir bildirimler gönderir.
* Geniş Eklenti Desteği: Nagios eklentileriyle uyumludur ve binlerce mevcut eklentiyi kullanmanıza olanak tanır.
* Icinga Web 2: Modern ve kullanıcı dostu bir web arayüzü ile izleme verilerine kolay erişim ve yönetim sağlar.
Bu makalede, Icinga 2’nin çekirdek motorunu ve onunla etkileşim kurmak için kullanılan Icinga Web 2 arayüzünü Ubuntu 16.04 üzerinde nasıl kuracağımızı adım adım ele alacağız.
Ön Gereksinimler
Kuruluma başlamadan önce aşağıdaki ön gereksinimlerin karşılandığından emin olun:
* Ubuntu 16.04 Sunucusu: Temiz bir Ubuntu 16.04 LTS (Xenial Xerus) sunucusu.
* Root veya Sudo Yetkileri: Kurulum için root kullanıcısı veya sudo yetkilerine sahip bir kullanıcı.
* İnternet Bağlantısı: Paket indirmek için aktif bir internet bağlantısı.
* Temel Linux Bilgisi: Komut satırı (CLI) kullanımı hakkında temel bilgi.
* Minimum Donanım: En az 2 GB RAM ve 20 GB disk alanı önerilir.
Bu gereksinimler sağlandıktan sonra kuruluma geçebiliriz.
Sistem Güncelleme ve Gerekli Paketlerin Kurulumu
Kuruluma başlamadan önce sunucunuzun güncel olduğundan ve Icinga’nın ihtiyaç duyduğu temel yazılım paketlerinin yüklü olduğundan emin olmalıyız.
Sistem Güncelleme
İlk olarak, paket listelerini güncelleyin ve yüklü paketleri en son sürümlerine yükseltin:
sudo apt update
sudo apt upgrade -y
sudo apt dist-upgrade -y
Bu komutlar, sisteminizin en güncel durumda olmasını sağlayacaktır.
Gerekli Paketlerin Kurulumu
Icinga 2 ve Icinga Web 2, Apache web sunucusu, PHP ve bir veritabanı sunucusu (MySQL veya MariaDB) gibi çeşitli bileşenlere bağımlıdır. Bu bileşenleri ve diğer yardımcı araçları kuralım:
sudo apt install -y apache2 php7.0 php7.0-cli php7.0-gd php7.0-mysql php7.0-mbstring php7.0-xml php7.0-intl php7.0-curl php7.0-json php7.0-zip
sudo apt install -y unzip git make gcc libgd-dev libssl-dev libmysqlclient-dev
Bu komutlar aşağıdaki paketleri yükler:
* apache2: Icinga Web 2 için web sunucusu.
* php7.0 ve ilgili modüller: Icinga Web 2’nin çalışması için gerekli PHP yorumlayıcısı ve modülleri (grafik işleme, MySQL bağlantısı, çok baytlı dizeler, XML ayrıştırma, uluslararasılaştırma, cURL, JSON, ZIP işlemleri).
* unzip, git, make, gcc: Kaynak koddan derleme veya çeşitli yardımcı işlemler için gerekli araçlar.
* libgd-dev: Grafik kütüphanesi geliştirme başlıkları (PHP GD modülü için gerekli olabilir).
* libssl-dev: SSL/TLS kütüphanesi geliştirme başlıkları.
* libmysqlclient-dev: MySQL istemci kütüphanesi geliştirme başlıkları (Icinga 2 IDO MySQL modülü için gereklidir).
Apache’nin etkinleştirildiğinden ve çalıştığından emin olun:
sudo systemctl enable apache2
sudo systemctl start apache2
Tarayıcınızda sunucunuzun IP adresine giderek Apache varsayılan sayfasını görmelisiniz.
MySQL/MariaDB Kurulumu ve Yapılandırması
Icinga 2, izleme verilerini saklamak için bir veritabanına ihtiyaç duyar. Bu makalede MySQL (veya MariaDB) kullanacağız. Ubuntu 16.04 varsayılan olarak MySQL 5.7 ile gelir.
MySQL Sunucusunun Kurulumu
MySQL sunucusunu yükleyin:
sudo apt install -y mysql-server
Kurulum sırasında root kullanıcısı için bir parola belirlemeniz istenebilir. Güçlü bir parola seçtiğinizden emin olun.
MySQL Güvenlik Ayarları
Kurulumdan sonra MySQL sunucusunun güvenliğini artırmak için aşağıdaki betiği çalıştırın:
sudo mysql_secure_installation
Bu betik size aşağıdaki soruları soracaktır:
* VALIDATE PASSWORD PLUGIN: Parola doğrulama eklentisini kurmak isteyip istemediğinizi sorar. Bu, zayıf parolaların kullanılmasını engeller. “Y” tuşuna basıp bir seviye seçebilirsiniz.
* Change the root password?: Daha önce belirlemediyseniz veya değiştirmek isterseniz root parolayı buradan ayarlayabilirsiniz.
* Remove anonymous users?: Anonim kullanıcıları kaldırmak isteyip istemediğinizi sorar. Güvenlik için “Y” seçeneğini tercih edin.
* Disallow root login remotely?: root kullanıcısının uzaktan bağlantı kurmasını engellemek isteyip istemediğinizi sorar. Güvenlik için “Y” seçeneğini tercih edin.
* Remove test database and access to it?: test veritabanını kaldırmak isteyip istemediğinizi sorar. Güvenlik için “Y” seçeneğini tercih edin.
* Reload privilege tables now?: Ayrıcalık tablolarını yeniden yüklemek isteyip istemediğinizi sorar. Değişikliklerin etkili olması için “Y” seçeneğini tercih edin.
Tüm sorulara “Y” yanıtını vererek güvenliği artırmanız önerilir.
Icinga 2 İçin Veritabanı ve Kullanıcı Oluşturma
Icinga 2’nin izleme verilerini depolayacağı bir veritabanı ve bu veritabanına erişecek özel bir kullanıcı oluşturmamız gerekiyor.
MySQL komut istemcisine root kullanıcısı olarak bağlanın:
sudo mysql -u root -p
İstendiğinde root parolanızı girin. Ardından aşağıdaki SQL komutlarını çalıştırın:
CREATE DATABASE icinga2_db CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'icinga2_user'@'localhost' IDENTIFIED BY 'your_icinga2_db_password';
GRANT ALL PRIVILEGES ON icinga2_db.* TO 'icinga2_user'@'localhost' IDENTIFIED BY 'your_icinga2_db_password';
FLUSH PRIVILEGES;
EXIT;
* icinga2_db: Icinga 2’nin kullanacağı veritabanının adı.
* icinga2_user: Icinga 2’nin veritabanına bağlanmak için kullanacağı kullanıcı adı.
* your_icinga2_db_password: Bu kullanıcı için güçlü bir parola belirleyin ve bir yere not edin.
Bu adımlar, Icinga 2’nin veritabanı gereksinimlerini karşılar.
Icinga 2 Core Kurulumu
Şimdi Icinga 2 çekirdek motorunu kurmaya geçebiliriz. Icinga paketleri Ubuntu’nun varsayılan depolarında bulunmaz, bu yüzden Icinga’nın kendi resmi deposunu eklememiz gerekecek.
Icinga Depolarını Ekleme
Icinga paketleri için GPG anahtarını indirin ve ekleyin:
wget -O - https://packages.icinga.com/icinga.key | sudo apt-key add -
Ardından, Icinga depolarını sources.list.d dizinine ekleyin. Ubuntu 16.04 (Xenial) için doğru depoyu kullandığınızdan emin olun:
echo 'deb http://packages.icinga.com/ubuntu icinga-xenial main' | sudo tee /etc/apt/sources.list.d/icinga.list
echo 'deb-src http://packages.icinga.com/ubuntu icinga-xenial main' | sudo tee -a /etc/apt/sources.list.d/icinga.list
Depoları ekledikten sonra paket listelerini tekrar güncelleyin:
sudo apt update
Icinga 2 ve IDO MySQL Modülünün Kurulumu
Şimdi Icinga 2 çekirdeğini ve veritabanı entegrasyonu için gerekli olan IDO (Icinga Data Output) MySQL modülünü kurabiliriz:
sudo apt install -y icinga2 icinga2-ido-mysql
Kurulum sırasında icinga2-ido-mysql paketi, veritabanı yapılandırmasını sizin için otomatik olarak yapmayı teklif edebilir. Ancak, daha sonra manuel olarak yapılandıracağımız için bu adımda “No” veya “Hayır” seçeneğini seçmek daha iyi olacaktır.
IDO MySQL Modülünü Etkinleştirme
Icinga 2’nin veritabanına veri yazabilmesi için ido-mysql özelliğini etkinleştirmemiz gerekir:
sudo icinga2 feature enable ido-mysql
Bu komut, /etc/icinga2/features-enabled/ido-mysql.conf dosyasını etkinleştirir ve gerekli sembolik bağlantıları oluşturur.
IDO MySQL Yapılandırması
ido-mysql modülünün veritabanı bağlantı bilgilerini yapılandırmamız gerekiyor. /etc/icinga2/features-enabled/ido-mysql.conf dosyasını bir metin düzenleyici ile açın:
sudo nano /etc/icinga2/features-enabled/ido-mysql.conf
Aşağıdaki satırları, daha önce oluşturduğunuz veritabanı adı (icinga2_db), kullanıcı adı (icinga2_user) ve parola (your_icinga2_db_password) ile güncelleyin:
object IdoMysqlConnection "ido-mysql" {
user = "icinga2_user",
password = "your_icinga2_db_password",
host = "localhost",
database = "icinga2_db"
}
Dosyayı kaydedin ve kapatın (CTRL+O, Enter, CTRL+X).
Icinga 2 IDO Şemasını Veritabanına Aktarma
Icinga 2’nin veritabanında doğru tabloları ve yapıları oluşturabilmesi için IDO şemasını içe aktarmamız gerekiyor:
sudo mysql -u icinga2_user -p icinga2_db < /usr/share/icinga2-ido-mysql/schema/mysql.sql
İstendiğinde icinga2_user parolasını girin. Bu komut, mysql.sql dosyasındaki tüm SQL sorgularını icinga2_db veritabanına uygulayacaktır.
Icinga 2 Servisini Yeniden Başlatma ve Kontrol Etme
Tüm yapılandırma değişikliklerinin etkili olması için Icinga 2 servisini yeniden başlatın:
sudo systemctl restart icinga2
Servisin durumunu kontrol ederek sorunsuz çalıştığından emin olun:
sudo systemctl status icinga2
Çıktıda active (running) ifadesini görmelisiniz. Herhangi bir hata varsa, /var/log/icinga2/icinga2.log dosyasını kontrol edin.
Icinga Web 2 Kurulumu
Icinga 2 çekirdeği artık çalışıyor ve verileri veritabanına yazıyor. Şimdi bu verileri görselleştirmek ve yönetmek için Icinga Web 2 arayüzünü kuracağız.
Icinga Web 2 Paketlerinin Kurulumu
Icinga Web 2'yi ve temel modüllerini yükleyin:
sudo apt install -y icingaweb2 icingaweb2-module-doc icingaweb2-module-monitoring
Bu komut, Icinga Web 2'nin kendisini, dokümantasyon modülünü ve en önemlisi izleme verilerini gösteren ana izleme modülünü kurar.
Apache Modüllerini Etkinleştirme
Icinga Web 2'nin düzgün çalışması için Apache'nin rewrite modülüne ihtiyacı vardır:
sudo a2enmod rewrite
Değişikliklerin etkili olması için Apache'yi yeniden başlatın:
sudo systemctl restart apache2
Icinga Web 2 Kurulum Token'ı Oluşturma
Icinga Web 2'nin web arayüzü üzerinden ilk kurulumunu yapmak için bir "setup token" oluşturmamız gerekiyor. Bu token, kurulum sihirbazına erişim yetkisi verir.
sudo icingaweb2 setup token create
Bu komut, size rastgele bir token dizesi verecektir. Bu token'ı bir yere not edin, çünkü bir sonraki adımda kullanacağız. Örnek çıktı: The setup token is: XXXXXX.
Icinga Web 2 Web Arayüzü Yapılandırması
Şimdi bir web tarayıcısı kullanarak Icinga Web 2'nin kurulum sihirbazını tamamlayabiliriz.
Tarayıcınızı açın ve sunucunuzun IP adresine veya ana bilgisayar adına aşağıdaki URL ile gidin:
http://your_server_ip/icingaweb2/setup
Kurulum Sihirbazı Adımları
1. Welcome to Icinga Web 2 Setup: Başlangıç ekranında Next (İleri) düğmesine tıklayın.
2. Authentication: Daha önce oluşturduğunuz kurulum token'ını buraya yapıştırın ve Next düğmesine tıklayın.
3. Modules: Kurulum sihirbazı otomatik olarak monitoring ve doc modüllerini algılamalıdır. Bunların etkin olduğundan emin olun ve Next düğmesine tıklayın.
4. Authentication Method: Icinga Web 2 kullanıcılarını yönetmek için bir kimlik doğrulama yöntemi seçmelisiniz. En yaygın ve önerilen yöntem Database (Veritabanı) kullanmaktır. Database seçeneğini işaretleyin ve Next düğmesine tıklayın.
5. Database Resource: Icinga Web 2'nin kendi kullanıcı verilerini depolayacağı bir veritabanı kaynağı oluşturmanız gerekiyor. Bu, Icinga 2 IDO veritabanından farklıdır.
* Resource Name: icingaweb_db gibi bir isim verin.
* Database Type: MySQL seçin.
* Host: localhost
* Port: (Boş bırakın veya 3306)
* Database Name: icingaweb2_db gibi yeni bir veritabanı adı belirleyin.
* Username: icingaweb2_user gibi yeni bir kullanıcı adı belirleyin.
* Password: Bu kullanıcı için güçlü bir parola belirleyin.
NOT: Bu veritabanı ve kullanıcıyı henüz oluşturmadık. Kurulum sihirbazı bunu sizin için oluşturmayı deneyecektir, ancak manuel olarak oluşturmak daha güvenlidir. Yeni bir terminal açıp MySQL'e bağlanarak bu veritabanını ve kullanıcıyı oluşturalım:
sudo mysql -u root -p
CREATE DATABASE icingaweb2_db CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'icingaweb2_user'@'localhost' IDENTIFIED BY 'your_icingaweb2_db_password';
GRANT ALL PRIVILEGES ON icingaweb2_db.* TO 'icingaweb2_user'@'localhost' IDENTIFIED BY 'your_icingaweb2_db_password';
FLUSH PRIVILEGES;
EXIT;
your_icingaweb2_db_password yerine güçlü bir parola kullandığınızdan emin olun.
Veritabanı ve kullanıcı oluşturulduktan sonra, Icinga Web 2 sihirbazına geri dönün ve Validate Configuration (Yapılandırmayı Doğrula) düğmesine tıklayın. Her şey doğruysa, Next düğmesi etkinleşecektir.
6. Backend Type (Authentication): Database seçeneğini seçin ve Next düğmesine tıklayın.
7. Admin Account: Icinga Web 2'ye giriş yapmak için bir yönetici hesabı oluşturun.
* Username: icingaadmin gibi bir kullanıcı adı belirleyin.
* Password: Güçlü bir parola belirleyin.
* Password (again): Parolayı tekrar girin.
Next düğmesine tıklayın.
8. Application Configuration: Icinga Web 2'nin genel ayarlarını yapılandırın. Varsayılan değerler genellikle yeterlidir. Next düğmesine tıklayın.
9. Monitoring Backend: Icinga Web 2'nin izleme verilerini nereden alacağını yapılandırın. Bu, daha önce kurduğumuz Icinga 2 IDO veritabanıdır.
* Backend Name: icinga2 gibi bir isim verin.
* Backend Type: IDO seçin.
* Next düğmesine tıklayın.
10. Monitoring IDO Resource: Icinga 2 IDO veritabanı bağlantı bilgilerini girin.
* Resource Name: icinga2_ido gibi bir isim verin.
* Database Type: MySQL seçin.
* Host: localhost
* Port: (Boş bırakın veya 3306)
* Database Name: icinga2_db (Icinga 2 için oluşturduğumuz veritabanı adı).
* Username: icinga2_user (Icinga 2 için oluşturduğumuz kullanıcı adı).
* Password: your_icinga2_db_password (Icinga 2 için belirlediğimiz parola).
Validate Configuration düğmesine tıklayın. Doğrulama başarılı olursa Next düğmesine tıklayın.
11. Monitoring Command Transport: Icinga Web 2'nin Icinga 2 çekirdeğine komut göndermek için kullanacağı yöntemi yapılandırın (örn. hizmetleri yeniden zamanlama, uyarıları susturma).
* Transport Type: Local Command File seçeneğini seçin.
* Path: /var/run/icinga2/cmd/icinga2.cmd olarak bırakın.
Next düğmesine tıklayın.
12. Review and Finish: Yapılandırmanın bir özetini göreceksiniz. Her şey doğru görünüyorsa Finish düğmesine tıklayın.
Kurulum tamamlandıktan sonra Icinga Web 2 giriş ekranına yönlendirileceksiniz.
Icinga 2 ve Icinga Web 2 Bağlantısını Doğrulama
Oluşturduğunuz icingaadmin kullanıcı adı ve parolası ile Icinga Web 2'ye giriş yapın.
Başarılı bir şekilde giriş yaptıktan sonra Icinga Web 2 panosunu (Dashboard) görmelisiniz. Şu anda muhtemelen çok az veya hiç izlenen nesne görmeyeceksiniz, çünkü henüz herhangi bir ana bilgisayar veya hizmet yapılandırmadık. Ancak, üst menüde Monitoring (İzleme) sekmesini görebiliyorsanız ve herhangi bir hata mesajı yoksa, Icinga Web 2'nin Icinga 2 IDO veritabanına başarıyla bağlandığı anlamına gelir.
Temel İzleme Yapılandırması
Icinga 2'nin gerçek gücünü kullanmak için izlenecek ana bilgisayarları (hosts) ve hizmetleri (services) tanımlamamız gerekir. Icinga 2 yapılandırması /etc/icinga2 dizini altında bulunur.
Varsayılan Yapılandırma Dosyaları
Icinga 2, yapılandırmayı parçalara ayırarak yönetmeyi kolaylaştırır. En önemli dizinler şunlardır:
* /etc/icinga2/icinga2.conf: Ana yapılandırma dosyası. Diğer tüm yapılandırma dosyalarını içerir.
* /etc/icinga2/conf.d/: Ana bilgisayar, hizmet, komut vb. tanımlarının yapıldığı dizin.
* /etc/icinga2/zones.conf: Dağıtık izleme için bölgelerin tanımlandığı dosya.
* /etc/icinga2/constants.conf: Genel sabitlerin tanımlandığı dosya.
Varsayılan olarak, Icinga 2 bazı örnek yapılandırma dosyalarını conf.d dizininde etkinleştirir. Kendi yapılandırmanızı oluşturmak için bu örnekleri kullanabilir veya yenilerini oluşturabilirsiniz.
Yerel Ana Bilgisayarı İzleme Örneği
Kendi Icinga sunucumuzu izlemek için basit bir ana bilgisayar ve hizmet tanımlayalım.
1. hosts.conf Dosyasını Oluşturma:
Yeni bir dosya oluşturun:
sudo nano /etc/icinga2/conf.d/hosts.conf
Aşağıdaki içeriği ekleyin (sunucunuzun IP adresini veya ana bilgisayar adını kullanın):
object Host "localhost" {
address = "127.0.0.1" // Veya sunucunuzun gerçek IP adresi
check_command = "hostalive"
vars.os = "Linux"
vars.disks["disk /"] = {
disk_partitions = "/"
}
vars.disks["disk /var"] = {
disk_partitions = "/var"
}
vars.load_wload1 = 10
vars.load_wload5 = 8
vars.load_wload15 = 5
vars.procs_critical = 1500
vars.procs_warning = 1000
vars.users_warning = 10
vars.users_critical = 20
}
Bu yapılandırma, localhost adında bir ana bilgisayar tanımlar ve hostalive komutunu kullanarak ping ile ulaşılabilirliğini kontrol eder. Ayrıca disk kullanımı, yük ortalaması, işlem sayısı ve oturum açmış kullanıcı sayısı için eşikler tanımlar.
2. services.conf Dosyasını Oluşturma:
Yeni bir dosya oluşturun:
sudo nano /etc/icinga2/conf.d/services.conf
Aşağıdaki içeriği ekleyin:
apply Service "disk" {
import "generic-service"
check_command = "disk"
assign where host.vars.disks
vars += host.vars.disks
}
apply Service "load" {
import "generic-service"
check_command = "load"
assign where host.vars.load_wload1
vars.load_wload1 = host.vars.load_wload1
vars.load_wload5 = host.vars.load_wload5
vars.load_wload15 = host.vars.load_wload15
}
apply Service "procs" {
import "generic-service"
check_command = "procs"
assign where host.vars.procs_critical
vars.procs_critical = host.vars.procs_critical
vars.procs_warning = host.vars.procs_warning
}
apply Service "users" {
import "generic-service"
check_command = "users"
assign where host.vars.users_warning
vars.users_warning = host.vars.users_warning
vars.users_critical = host.vars.users_critical
}
apply Service "ping" {
import "generic-service"
check_command = "ping"
assign where host.address
}
Bu yapılandırma, daha önce localhost için tanımladığımız vars (değişkenler) kullanarak otomatik olarak hizmetler oluşturur. Örneğin, disk hizmeti host.vars.disks değişkeni olan tüm ana bilgisayarlara uygulanacaktır.
3. Yapılandırmayı Kontrol Etme:
Yapılandırma dosyalarında hata olup olmadığını kontrol etmek için Icinga 2 yapılandırma denetleyicisini çalıştırın:
sudo icinga2 daemon -C
Çıktı configuration is valid (yapılandırma geçerli) diyorsa, her şey yolundadır. Herhangi bir hata varsa, hatayı düzeltin ve tekrar deneyin.
4. Icinga 2 Servisini Yeniden Başlatma:
Yeni yapılandırmanın etkili olması için Icinga 2 servisini yeniden başlatın:
sudo systemctl restart icinga2
Şimdi Icinga Web 2 arayüzüne geri dönün. Sol menüden Monitoring -> Hosts veya Services sayfasına gidin. localhost ana bilgisayarını ve onunla ilişkili disk, load, procs, users ve ping hizmetlerini görmelisiniz. Birkaç dakika sonra bu hizmetler veri toplamaya başlayacak ve durumlarını gösterecektir.
Sorun Giderme (Troubleshooting)
Kurulum sırasında veya sonrasında bazı sorunlarla karşılaşabilirsiniz. İşte yaygın sorunlar ve çözümleri:
* Icinga 2 Servisi Başlamıyor:
* sudo systemctl status icinga2 komutunu kontrol edin.
* Icinga 2 günlüklerini inceleyin: sudo tail -f /var/log/icinga2/icinga2.log.
* Yapılandırma hataları için sudo icinga2 daemon -C komutunu çalıştırın.
* Icinga Web 2 Erişim Sorunları (404 Not Found, 500 Internal Server Error):
* Apache servisi çalışıyor mu? sudo systemctl status apache2.
* Apache hata günlüklerini kontrol edin: sudo tail -f /var/log/apache2/error.log.
* rewrite modülü etkin mi? sudo a2enmod rewrite ve sudo systemctl restart apache2.
* PHP modülleri yüklü mü? php -m komutuyla kontrol edebilirsiniz.
* Veritabanı Bağlantı Hataları:
* MySQL/MariaDB servisi çalışıyor mu? sudo systemctl status mysql.
* Kullanıcı adları, parolalar ve veritabanı adları doğru mu? /etc/icinga2/features-enabled/ido-mysql.conf ve Icinga Web 2 kaynak yapılandırmalarını kontrol edin (/etc/icingaweb2/resources.ini).
* MySQL kullanıcılarına doğru ayrıcalıklar verildi mi? GRANT komutlarını tekrar kontrol edin.
* Icinga Web 2'de Veri Görünmüyor:
* Icinga 2 servisi çalışıyor mu?
* ido-mysql özelliği etkin mi ve doğru yapılandırılmış mı?
* Icinga 2 IDO şeması veritabanına aktarıldı mı?
* Icinga Web 2'nin izleme arka ucu (monitoring backend) doğru yapılandırılmış mı?
Sonuç
Bu makale, Ubuntu 16.04 üzerinde Icinga 2 izleme sistemi ve Icinga Web 2 arayüzünün kurulumunu ve temel yapılandırmasını ayrıntılı bir şekilde ele almıştır. Adım adım ilerleyerek, gerekli ön koşulları sağladık, MySQL veritabanını kurduk ve yapılandırdık, Icinga 2 çekirdeğini ve IDO MySQL modülünü kurduk ve son olarak Icinga Web 2'yi web arayüzü üzerinden yapılandırdık. Ayrıca, Icinga'nın kendi sunucusunu izlemesi için basit bir ana bilgisayar ve hizmet yapılandırması örneği de sunduk.
Artık çalışan bir Icinga 2 ve Icinga Web 2 kurulumunuz var. Bu kurulum, izleme altyapınız için sağlam bir temel oluşturur. Buradan sonraki adımlar, ağınızdaki diğer sunucuları, ağ cihazlarını ve uygulamaları izlemek için Icinga Agent'ları kurmak, daha karmaşık hizmet kontrolleri tanımlamak, bildirimleri yapılandırmak ve belki de Grafana gibi araçlarla daha gelişmiş görselleştirmeler entegre etmek olacaktır. Icinga'nın güçlü ve esnek yapısı sayesinde, izleme ihtiyaçlarınıza göre sisteminizi kolayca genişletebilir ve özelleştirebilirsiniz.