Dijital altyapıların karmaşıklığı arttıkça, bu sistemlerin sağlığını ve performansını sürekli olarak gözlemlemek, olası sorunları anında tespit edip müdahale etmek kritik bir önem kazanmıştır. Sunucuların çökmesi, ağ bağlantılarının yavaşlaması veya bir uygulamanın beklenmedik şekilde durması, işletmeler için ciddi gelir kayıplarına, üretkenlik düşüşüne ve itibar zedelenmesine yol açabilir. İşte bu noktada, sunucu ve ağ izleme (monitoring) sistemleri devreye girer. Bu sistemler, BT altyapınızın her bir bileşenini 7/24 gözlemleyerek, en küçük anormallikleri bile size bildirir ve proaktif bir yönetim anlayışı benimsemenizi sağlar. Açık kaynak kodlu ve son derece güçlü bir çözüm olan Zabbix, bu alanda en çok tercih edilen araçlardan biridir.
İçerik Tablosu
Sunucu ve Ağ İzlemenin Temelleri
Modern iş dünyasında teknoloji altyapısı, operasyonların kalbi konumundadır. Sunucular, ağ cihazları, uygulamalar ve veritabanları gibi bileşenlerin sorunsuz çalışması, iş sürekliliği için vazgeçilmezdir. Bu bileşenlerin performansını, kullanılabilirliğini ve güvenliğini sağlamanın tek yolu ise etkili bir izleme (monitoring) stratejisi uygulamaktır. Bu bölümde, izlemenin neden hayati olduğunu ve Zabbix gibi güçlü bir aracın bu süreçte nasıl bir rol oynadığını temel hatlarıyla inceleyeceğiz.
Sistem İzleme (Monitoring) Nedir ve Neden Hayatidir?
Sistem izleme (monitoring), bir BT altyapısını oluşturan donanım, yazılım, ağ ve hizmetlerin durumu hakkında sürekli olarak veri toplama, analiz etme ve raporlama sürecidir. Bu süreç, sistemlerin anlık performansını (CPU kullanımı, bellek tüketimi, disk alanı, ağ trafiği vb.) ve uzun vadeli eğilimlerini gözlemlemeyi içerir. İzlemenin hayati olmasının temel nedenleri şunlardır:
- Proaktif Sorun Tespiti: Sorunlar son kullanıcıları etkilemeden önce potansiyel problemleri (örneğin, dolmak üzere olan bir disk alanı) tespit ederek önlem almanızı sağlar.
- Hızlı Hata Analizi (Root Cause Analysis): Bir sorun meydana geldiğinde, geçmişe dönük veriler sayesinde sorunun temel nedenini çok daha hızlı bir şekilde bulmanıza yardımcı olur.
- Performans Optimizasyonu: Sistemlerdeki darboğazları ve performans düşüşlerini belirleyerek kaynak kullanımını optimize etme imkanı sunar.
- Kapasite Planlaması: Uzun vadeli veri analizleri, gelecekteki donanım ve kaynak ihtiyaçlarınızı doğru bir şekilde planlamanıza olanak tanır.
- Hizmet Seviyesi Anlaşmaları (SLA) Takibi: Müşterilere veya iç departmanlara sunulan hizmetlerin kararlaştırılan kalite standartlarında (örneğin, %99.9 çalışma süresi) olup olmadığını doğrular.
Zabbix Nedir? Zabbix’in Avantajları ve Yetenekleri
Zabbix, sunuculardan ağ cihazlarına, sanal makinelerden bulut hizmetlerine kadar geniş bir yelpazedeki BT bileşenlerini izlemek için tasarlanmış, kurumsal düzeyde, açık kaynak kodlu bir izleme çözümüdür. Ölçeklenebilir yapısı ve esnekliği sayesinde küçük işletmelerden çok büyük ve dağıtık altyapılara kadar her ölçekte kullanılabilir. Zabbix’in en önemli avantajları şunlardır:
- Açık Kaynak ve Ücretsiz: Herhangi bir lisans maliyeti olmadan tüm özellikleriyle kullanılabilir. Bu, toplam sahip olma maliyetini (TCO) önemli ölçüde düşürür.
- Geniş Kapsamlı İzleme: Sadece sunucu metriklerini değil, aynı zamanda ağ cihazlarını (SNMP ile), uygulama performansını, veritabanı sorgularını ve web sitelerinin durumunu da izleyebilir.
- Esnek Bildirim Mekanizmaları: Sorun anında e-posta, SMS, Slack, Microsoft Teams gibi birçok farklı kanal üzerinden anlık bildirimler gönderebilir.
- Güçlü Görselleştirme Araçları: Özelleştirilebilir panolar (dashboards), grafikler, ağ haritaları ve raporlar ile toplanan verileri anlamlı bilgilere dönüştürür.
- Otomasyon Yetenekleri: Ağ keşfi (discovery) gibi özellikler sayesinde yeni cihazları otomatik olarak izleme sistemine ekleyebilir ve standart izleme kurallarını uygulayabilir.
Zabbix Mimarisi ve Bileşenleri
Zabbix’in gücü, modüler ve dağıtık mimarisinden gelir. Bu mimari, sistemin farklı bileşenlerinin birlikte uyum içinde çalışarak esnek ve ölçeklenebilir bir izleme altyapısı oluşturmasını sağlar. Temel Zabbix bileşenleri şunlardır:
Zabbix Server
Zabbix mimarisinin beyni ve merkezi bileşenidir. İzlenecek sistemlerden gelen verileri toplar, bu verileri işler, tetikleyiciler (triggers) aracılığıyla problem olup olmadığını kontrol eder ve problem anında bildirim gönderir. Tüm konfigürasyon bilgileri ve toplanan performans verileri Zabbix Server tarafından yönetilir.
Zabbix Frontend (Web Arayüzü)
PHP ile yazılmış olan web arayüzü, Zabbix sistemini yönetmek, yapılandırmak ve toplanan verileri görselleştirmek için kullanılır. Kullanıcılar, bu arayüz üzerinden izlenecek sunucuları (host) ekler, izleme kurallarını (items) tanımlar, alarmları (triggers) ayarlar ve panoları (dashboards) oluşturur. Kısacası, Zabbix ile ilgili tüm işlemler bu arayüzden yapılır.
Veritabanı (Database)
Zabbix Server, hem konfigürasyon verilerini (kullanıcılar, hostlar, item’lar vb.) hem de izlenen sistemlerden toplanan geçmiş performans verilerini (history/trends) bir veritabanında saklar. Zabbix; MySQL, MariaDB, PostgreSQL, Oracle ve SQLite gibi popüler veritabanı sistemlerini destekler.
Zabbix Agent
İzlenmek istenen sunucular (Linux, Windows, macOS vb.) üzerine kurulan küçük bir yazılımdır. Görevi, bulunduğu sistemin yerel kaynakları (CPU, bellek, disk, çalışan servisler vb.) hakkında bilgi toplamak ve bu bilgiyi periyodik olarak Zabbix Server’a göndermektir. Agent, “aktif” (veriyi kendisi gönderir) veya “pasif” (Server’ın istemesini bekler) modlarda çalışabilir.
Zabbix Proxy
Dağıtık ve büyük altyapıların izlenmesini kolaylaştıran opsiyonel bir bileşendir. Uzak bir lokasyondaki veya güvenlik duvarı arkasındaki birden fazla cihazı izlemek için kullanılır. Zabbix Proxy, bulunduğu lokasyondaki cihazlardan verileri toplar, kendi üzerinde bir süre tamponlar ve ardından bu verileri tek bir bağlantı üzerinden merkezi Zabbix Server’a iletir. Bu, hem Zabbix Server’ın yükünü azaltır hem de ağ yönetimini basitleştirir.
Kurulum Öncesi Hazırlık ve Sistem Gereksinimleri
Zabbix kurulumuna başlamadan önce, sistemin sağlıklı ve performanslı çalışabilmesi için dikkatli bir planlama yapmak esastır. Bu aşama, doğru donanım kaynaklarını ayırmayı, uyumlu bir işletim sistemi ve veritabanı seçmeyi, ayrıca gerekli ağ konfigürasyonlarını yapmayı içerir. İyi bir hazırlık süreci, gelecekte karşılaşılabilecek performans sorunlarının ve darboğazların önüne geçmenizi sağlar.
Donanım ve Kaynak Planlaması (CPU, RAM, Disk)
Zabbix Server için gereken donanım kaynakları, izlenecek host (sunucu/cihaz) sayısı ve saniyede toplanacak yeni değer (NVPS – New Values Per Second) sayısı gibi faktörlere bağlı olarak değişir. Genel bir kural olarak, aşağıdaki tablo başlangıç noktası olarak kullanılabilir:
| İzlenen Host Sayısı | Önerilen CPU Çekirdeği | Önerilen RAM | Önerilen Disk Alanı |
|---|---|---|---|
| 1 – 100 Host | 2 Çekirdek | 4 GB | 50 GB (Hızlı SSD önerilir) |
| 100 – 500 Host | 4 Çekirdek | 8 GB | 200 GB (Hızlı SSD önerilir) |
| 500+ Host | 8+ Çekirdek | 16+ GB | 500+ GB (Hızlı SSD önerilir) |
Disk Alanı Planlaması: Zabbix’in en çok ihtiyaç duyduğu kaynaklardan biri disk alanıdır, çünkü tüm geçmiş veriler burada saklanır. Veritabanının I/O performansı, sistemin genel performansını doğrudan etkiler. Bu nedenle, özellikle veritabanı dosyaları için yüksek performanslı SSD diskler kullanmak şiddetle tavsiye edilir. Saklanacak veri miktarı, izlenen öğe sayısı ve veri saklama periyotlarına (history/trends) göre hesaplanmalıdır.
Desteklenen İşletim Sistemleri (Ubuntu/Debian, CentOS/RHEL vb.)
Zabbix Server, popüler Linux dağıtımlarının birçoğu üzerinde sorunsuz bir şekilde çalışır. Zabbix’in resmi olarak paket deposu sunduğu ve en çok tercih edilen işletim sistemleri şunlardır:
- Debian Tabanlı: Ubuntu, Debian
- Red Hat Tabanlı: Red Hat Enterprise Linux (RHEL), CentOS, Oracle Linux, Rocky Linux, AlmaLinux
Zabbix Agent ise çok daha geniş bir platform yelpazesini destekler. Bunlar arasında tüm modern Linux dağıtımları, Microsoft Windows (Server ve Desktop sürümleri), macOS, AIX, HP-UX ve Solaris gibi çeşitli UNIX sistemleri bulunur.
Veritabanı Seçimi (MySQL/MariaDB, PostgreSQL)
Zabbix, konfigürasyon ve izleme verilerini saklamak için bir ilişkisel veritabanına ihtiyaç duyar. En popüler ve önerilen seçenekler MySQL/MariaDB ve PostgreSQL’dir. Seçim, genellikle kurum içindeki mevcut uzmanlık ve tecrübeye bağlıdır. Her iki veritabanı da Zabbix ile yüksek performanslı çalışabilir. Büyük ölçekli kurulumlarda (1000+ host), PostgreSQL’in zaman serisi verilerini işlemedeki yetenekleri nedeniyle genellikle daha iyi performans gösterdiği kabul edilir. Bir VDS üzerine kurulum yaparken, bu veritabanlarından birini seçerek başlayabilirsiniz.
Gerekli Ağ Portları ve Güvenlik Duvarı (Firewall) Kuralları
Zabbix bileşenlerinin birbiriyle iletişim kurabilmesi için belirli ağ portlarının güvenlik duvarında (firewall) açık olması gerekir. Standart olarak kullanılan portlar şunlardır:
- 10051/TCP: Zabbix Server’ın Zabbix Agent’lardan (pasif mod) ve Zabbix Proxy’lerden veri almak için dinlediği port.
- 10050/TCP: Zabbix Agent’ın Zabbix Server’dan (pasif mod) gelen istekleri dinlediği port.
- 80/TCP veya 443/TCP: Zabbix Frontend (web arayüzü) için standart HTTP veya HTTPS portları.
Güvenlik duvarı kurallarını yapılandırırken, Zabbix Server’ın tüm Agent ve Proxy’lere 10050 portu üzerinden erişebildiğinden (pasif mod için) ve tüm Agent ile Proxy’lerin Zabbix Server’a 10051 portu üzerinden veri gönderebildiğinden (aktif mod için) emin olmalısınız.
Zabbix Server, Veritabanı ve Frontend Kurulumu (Ubuntu Örneği)
Bu bölümde, Zabbix’in tüm temel bileşenlerini popüler bir Linux dağıtımı olan Ubuntu Server üzerinde nasıl kuracağımızı adım adım inceleyeceğiz. Kurulum süreci, sistemin hazırlanmasından Zabbix servislerinin başlatılmasına kadar tüm aşamaları kapsamaktadır. Bu rehberde veritabanı olarak MySQL ve web sunucusu olarak Apache kullanılacaktır.
Sistemin Güncellenmesi ve Gerekli Bağımlılıkların Yüklenmesi
Kuruluma başlamadan önce, sistem paket listesini güncellemek ve mevcut paketleri en son sürümlerine yükseltmek iyi bir alışkanlıktır. Bu, olası bağımlılık sorunlarını önlemeye yardımcı olur.
sudo apt update && sudo apt upgrade -y
Bu komut, sisteminizdeki tüm paketleri güncelleyecektir.
Zabbix Paket Deposunun Sisteme Eklenmesi
Zabbix, Ubuntu’nun standart paket depolarında bulunmaz. Bu nedenle, Zabbix’in resmi deposunu sistemimize eklememiz gerekir. Zabbix’in resmi web sitesinden güncel sürüm için gerekli `.deb` paketini indirip kuracağız. (Örnek olarak Zabbix 6.4 ve Ubuntu 22.04 kullanılmıştır.)
wget https://repo.zabbix.com/zabbix/6.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.4-1+ubuntu22.04_all.deb
sudo dpkg -i zabbix-release_6.4-1+ubuntu22.04_all.deb
sudo apt update
Bu komutlar, Zabbix deposunu sisteme ekler ve paket listesini tekrar günceller.
Zabbix Server, Frontend ve Agent Paketlerinin Kurulumu
Artık Zabbix bileşenlerini kurmaya hazırız. Zabbix Server, web arayüzü için gerekli PHP dosyaları ve MySQL desteği ile birlikte Zabbix Agent’ı aynı sunucuya kuracağız.
sudo apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent -y
Bu komut, Zabbix’in tüm temel bileşenlerini ve Apache web sunucusu için gerekli yapılandırma dosyalarını yükleyecektir.
Veritabanı Sunucusunun Kurulumu ve Güvenliğinin Sağlanması
Zabbix için MySQL veritabanı sunucusunu kurmamız gerekiyor. Eğer sistemde mevcut değilse, aşağıdaki komutla kurabilirsiniz:
sudo apt install mysql-server -y
Kurulum tamamlandıktan sonra, veritabanı sunucusunun temel güvenlik ayarlarını yapmak için `mysql_secure_installation` betiğini çalıştırmak önemlidir. Bu betik, root parolasını ayarlamanıza, anonim kullanıcıları kaldırmanıza ve test veritabanını silmenize olanak tanır.
sudo mysql_secure_installation
Zabbix için Veritabanı ve Kullanıcı Oluşturma
Şimdi Zabbix’in kendi verilerini saklayacağı bir veritabanı ve bu veritabanına erişim yetkisi olan bir kullanıcı oluşturmalıyız. MySQL komut satırına root olarak giriş yapın:
sudo mysql -uroot -p
Aşağıdaki komutları sırasıyla çalıştırarak veritabanını, kullanıcıyı oluşturun ve yetkileri verin. ‘password’ kısmını güvenli bir parola ile değiştirmeyi unutmayın.
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
mysql> create user zabbix@localhost identified by 'password';
mysql> grant all privileges on zabbix.* to zabbix@localhost;
mysql> set global log_bin_trust_function_creators = 1;
mysql> quit;
Zabbix Şemasının (Schema) Veritabanına Aktarılması
Zabbix’in ihtiyaç duyduğu tüm tabloları ve veri yapılarını içeren temel şemayı az önce oluşturduğumuz veritabanına aktarmamız gerekiyor. Bu işlem için `zabbix-sql-scripts` paketiyle gelen script’i kullanacağız.
sudo zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix
Bu komut sizden az önce oluşturduğunuz `zabbix` kullanıcısının parolasını isteyecektir. İşlem tamamlandıktan sonra, veritabanı yapısı hazır olacaktır.
Şema aktarımı sonrası, daha önce `log_bin_trust_function_creators` için yaptığımız ayarı eski haline getirebiliriz.
sudo mysql -uroot -p
mysql> set global log_bin_trust_function_creators = 0;
mysql> quit;
Zabbix Server Konfigürasyon Dosyasının (`zabbix_server.conf`) Düzenlenmesi
Zabbix Server’ın oluşturduğumuz veritabanına nasıl bağlanacağını belirtmemiz gerekiyor. Bunun için `/etc/zabbix/zabbix_server.conf` dosyasını bir metin düzenleyici ile açın.
sudo nano /etc/zabbix/zabbix_server.conf
Dosya içinde aşağıdaki satırı bulun ve veritabanı parolanızı tırnak işaretleri arasına yazın:
DBPassword=password
Dosyayı kaydedip kapatın.
Zabbix Servislerinin Başlatılması ve Etkinleştirilmesi
Tüm yapılandırma adımları tamamlandığına göre, Zabbix Server, Zabbix Agent ve Apache servislerini başlatabiliriz. Ayrıca, sunucu yeniden başladığında bu servislerin otomatik olarak başlaması için etkinleştirmeliyiz.
sudo systemctl restart zabbix-server zabbix-agent apache2
sudo systemctl enable zabbix-server zabbix-agent apache2
Bu komutlarla birlikte Zabbix’in sunucu tarafı kurulumu tamamlanmıştır. Artık web arayüzü üzerinden yapılandırmaya geçebiliriz.
Zabbix Web Arayüzü Yapılandırması
Sunucu tarafı kurulumunu tamamladıktan sonraki adım, Zabbix’i kullanıma hazır hale getirmek için web arayüzü üzerinden ilk yapılandırmayı yapmaktır. Bu süreç, bir kurulum sihirbazı aracılığıyla oldukça basittir ve veritabanı bağlantısı gibi kritik ayarların doğrulanmasını içerir. Bu aşamada bir SSL sertifikası kullanarak web arayüzü güvenliğini artırabilirsiniz.
Web Sunucusu (Apache/Nginx) Yapılandırması
Önceki bölümde `zabbix-apache-conf` paketini kurduğumuz için Apache için temel yapılandırma otomatik olarak yapılmıştır. Bu paket, Zabbix arayüzü için gerekli olan sanal konak (virtual host) dosyasını oluşturur ve etkinleştirir. Eğer Nginx kullanıyorsanız, benzer bir yapılandırmayı manuel olarak yapmanız gerekecektir. Yapılandırmanın doğru yüklendiğinden emin olmak için Apache servisini yeniden başlatmak iyi bir fikirdir: sudo systemctl restart apache2.
Kurulum Sihirbazı ile İlk Adımların Tamamlanması
Şimdi bir web tarayıcısı açın ve Zabbix sunucunuzun IP adresini veya alan adını girerek `http://sunucu_ip_adresi/zabbix` adresine gidin. Karşınıza Zabbix kurulum sihirbazı gelecektir.
Ön Gereksinimlerin Kontrolü
Sihirbazın ilk adımı, Zabbix’in çalışması için gerekli olan PHP modüllerinin ve ayarlarının sunucuda mevcut olup olmadığını kontrol etmektir. `zabbix-frontend-php` paketi genellikle bu bağımlılıkların çoğunu çözer. Eğer listede herhangi bir “Fail” (Başarısız) durumu varsa, eksik olan PHP eklentisini kurup Apache’yi yeniden başlatarak bu adımı geçmeniz gerekir. Tüm gereksinimler “OK” (Tamam) olarak göründüğünde “Next step” (Sonraki adım) butonuna tıklayın.
Veritabanı Bağlantısının Yapılandırılması
Bu adım, Zabbix’in veritabanına nasıl bağlanacağını yapılandıracağınız en önemli kısımdır. Aşağıdaki bilgileri, önceki bölümde oluşturduğunuz veritabanı ve kullanıcı bilgileriyle eşleşecek şekilde doldurun:
- Database type: MySQL
- Database host: localhost
- Database port: 0 (varsayılan 3306’yı kullanır)
- Database name: zabbix
- User: zabbix
- Password: Oluşturduğunuz parola
Bilgileri girdikten sonra “Next step” ile devam edin. Zabbix, bu bilgilerle veritabanına bağlanmayı deneyecektir. Herhangi bir hata alırsanız, girdiğiniz bilgileri ve önceki adımları kontrol edin.
Sunucu Detaylarının Belirlenmesi
Bu ekranda Zabbix sunucusunun detaylarını belirtebilirsiniz. Genellikle varsayılan değerler (Host: localhost, Port: 10051) yeterlidir. İsteğe bağlı olarak sunucuya bir isim (Name) verebilirsiniz. Bu ayarlar daha sonra değiştirilebilir. “Next step” ile ilerleyin.
Kurulum Özetinin İncelenmesi ve Tamamlanması
Son adımda, sihirbaz size yaptığınız tüm yapılandırmaların bir özetini sunar. Bilgileri kontrol edip doğruluğundan emin olduktan sonra “Next step” butonuna tıklayarak kurulumu tamamlayın. Sihirbaz, yapılandırma dosyasını (`/etc/zabbix/web/zabbix.conf.php`) oluşturacak ve kurulumun başarılı olduğuna dair bir mesaj gösterecektir. “Finish” (Bitir) butonuna tıklayarak Zabbix giriş ekranına yönlendirileceksiniz.
Zabbix Arayüzüne İlk Giriş ve Yönetici Parolasının Değiştirilmesi
Kurulum tamamlandığında Zabbix giriş ekranı sizi karşılayacaktır. Varsayılan kullanıcı bilgileri aşağıdaki gibidir:
- Username: Admin
- Password: zabbix
Bu bilgilerle giriş yaptıktan sonra, güvenlik açısından ilk yapmanız gereken şey varsayılan yönetici parolasını değiştirmektir. Sol menüden Administration > Users yolunu izleyin. Kullanıcı listesinde “Admin” kullanıcısının üzerine tıklayın. Açılan ekranda “Change password” butonuna tıklayın ve yeni, güvenli bir parola belirleyin. Parolayı güncelledikten sonra artık Zabbix arayüzü kullanıma hazırdır.
İzlenecek İlk Sunucunun Eklenmesi (Host Monitoring)
Zabbix sunucusu artık çalışır durumda olduğuna göre, ilk işimiz izlemek istediğimiz bir sunucuyu sisteme eklemektir. Bu süreç, izlenecek sunucuya Zabbix Agent’ı kurmayı, yapılandırmayı ve ardından Zabbix web arayüzünden bu sunucuyu “Host” olarak tanımlamayı içerir. Bu sayede sunucunun temel sağlık metriklerini (CPU, RAM, disk vb.) toplamaya başlayabiliriz.
İzlenecek Sunucuya Zabbix Agent Kurulumu
Zabbix Agent, izlenmek istenen hedef makineye (bu bir web sunucusu, veritabanı sunucusu veya herhangi bir Linux/Windows sunucu olabilir) kurulmalıdır. Kurulum, Zabbix Server kurulumuna benzer şekilde, Zabbix deposunu ekleyerek yapılır.
Örnek olarak bir başka Ubuntu sunucusuna Agent kuracağımızı varsayalım:
wget https://repo.zabbix.com/zabbix/6.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.4-1+ubuntu22.04_all.deb
sudo dpkg -i zabbix-release_6.4-1+ubuntu22.04_all.deb
sudo apt update
sudo apt install zabbix-agent -y
Bu komutlar, hedef sunucuya Zabbix Agent’ı kuracaktır.
Zabbix Agent Konfigürasyon Dosyasının (`zabbix_agentd.conf`) Düzenlenmesi
Agent’ın hangi Zabbix Server’a veri göndereceğini ve kimden komut alacağını bilmesi gerekir. Bunun için Agent’ın yapılandırma dosyasını düzenlemeliyiz.
sudo nano /etc/zabbix/zabbix_agentd.conf
Bu dosyada iki önemli satırı bulup düzenlememiz gerekiyor:
Server: Bu satıra Zabbix Server’ınızın IP adresini yazın. Bu, Agent’ın hangi sunucudan gelen pasif kontrollere (veri isteklerine) cevap vereceğini belirtir.
Server=ZABBIX_SERVER_IP_ADRESI
ServerActive: Bu satıra yine Zabbix Server’ınızın IP adresini yazın. Bu, Agent’ın aktif kontroller (veriyi kendisinin periyodik olarak göndermesi) için veriyi hangi sunucuya göndereceğini belirtir.
ServerActive=ZABBIX_SERVER_IP_ADRESI
Hostname: Agent’ın kendisini Zabbix Server’a hangi isimle tanıtacağını belirtir. Bu ismin Zabbix arayüzünde oluşturacağınız host adıyla birebir aynı olması kritik öneme sahiptir.
Hostname=Izlenecek-Sunucu-Adi
Dosyayı kaydedip kapattıktan sonra, yaptığınız değişikliklerin geçerli olması için Agent servisini yeniden başlatın ve sunucu açılışında otomatik başlaması için etkinleştirin.
sudo systemctl restart zabbix-agent
sudo systemctl enable zabbix-agent
Zabbix Web Arayüzünden Host (Sunucu) Oluşturma
Şimdi Zabbix arayüzüne geri dönün ve yeni sunucuyu ekleyin.
1. Sol menüden Configuration > Hosts yolunu izleyin.
2. Sağ üst köşedeki “Create host” butonuna tıklayın.
Host Adı, Gruplar ve Arayüz (IP Adresi) Tanımlama
Açılan “Host” sekmesinde aşağıdaki bilgileri doldurun:
- Host name: Buraya, Agent yapılandırma dosyasındaki (`zabbix_agentd.conf`) `Hostname` parametresine yazdığınız ismin aynısını yazın. Bu eşleşme çok önemlidir.
- Templates: Bu alanı şimdilik boş bırakın, bir sonraki adımda dolduracağız.
- Host groups: Sunucuyu mantıksal bir gruba atayın. Örneğin, “Linux servers” grubunu seçebilir veya yeni bir grup oluşturabilirsiniz.
- Interfaces: “Add” butonuna tıklayın ve “Agent” seçeneğini seçin. Açılan bölümde izlenecek sunucunun IP adresini girin ve port numarasının 10050 olduğundan emin olun.
Şablon (Template) Bağlama
Zabbix’in en güçlü özelliklerinden biri şablonlardır. Şablonlar, bir dizi hazır izleme kuralını (items, triggers, graphs) içerir. Sunucuya uygun bir şablon bağlayarak yüzlerce ayarı tek tıkla yapmış oluruz. “Templates” sekmesine geçin.
- Link new templates alanına tıklayın ve açılan arama kutusuna “Linux” yazın.
- Listeden “Linux by Zabbix agent” şablonunu seçin.
- “Add” butonuna tıklayarak host’u oluşturun.
Host Bağlantı Durumunun Kontrolü ve Veri Akışının Doğrulanması
Host’u ekledikten sonra, Host listesi ekranına geri döneceksiniz. Yeni eklediğiniz sunucunun “Availability” (Ulaşılabilirlik) sütunundaki Agent ikonunun yeşile dönmesini bekleyin. Bu, Zabbix Server’ın Agent’a başarılı bir şekilde bağlandığını gösterir. Eğer ikon gri kalır veya kırmızıya dönerse, bir bağlantı sorunu var demektir (firewall, IP adresi hatası, host adı uyuşmazlığı vb.).
Bağlantı başarılı olduğunda, verilerin gelip gelmediğini kontrol etmek için sol menüden Monitoring > Latest data yolunu izleyin. Host filtresine yeni eklediğiniz sunucunun adını yazarak, o sunucudan gelen CPU kullanımı, bellek bilgisi gibi verilerin listelendiğini görebilirsiniz.
Zabbix’in Temel İzleme Kavramları
Zabbix’in etkili bir şekilde kullanılabilmesi için temel izleme mantığını ve bileşenlerini anlamak gerekir. Zabbix, verinin nasıl toplanacağından, bir problemin ne zaman oluştuğuna ve bu probleme nasıl tepki verileceğine kadar olan süreci dört ana kavram üzerine kurar: Öğeler (Items), Tetikleyiciler (Triggers), Olaylar (Events) ve Eylemler (Actions). Bu kavramlar, Şablonlar (Templates) ile birleşerek güçlü ve yeniden kullanılabilir bir izleme yapısı oluşturur.
Öğeler (Items): Ne İzlenecek? (CPU, RAM, Disk, Ağ Trafiği)
Bir “Item” (Öğe), Zabbix’in bir host’tan topladığı tek bir metriktir. “Ne izlenecek?” sorusunun cevabıdır. Her bir öğe, belirli bir veri türünü (sayısal, metin, log vb.) belirli aralıklarla toplamak üzere yapılandırılır. Örnek öğeler şunlar olabilir:
- İşlemci kullanım yüzdesi
- Boş bellek miktarı (MB cinsinden)
- `/var` dizinindeki boş disk alanı yüzdesi
- Belirli bir ağ arayüzünden geçen saniyelik veri miktarı (trafik)
- Bir web sitesinin yanıt verip vermediği (basit kontrol)
- Bir servisin (örneğin, apache2) çalışıp çalışmadığı
Öğeler, Zabbix Agent, SNMP, IPMI veya özel betikler gibi farklı yöntemlerle veri toplayabilir.
Tetikleyiciler (Triggers): Ne Zaman Problem Var? (Eşik Değerleri)
Bir “Trigger” (Tetikleyici), bir veya daha fazla öğeden gelen veriyi mantıksal bir ifade ile değerlendirerek bir “problem” durumunun ne zaman oluştuğunu tanımlar. “Ne zaman problem var?” sorusunun cevabıdır. Tetikleyiciler, belirli eşik değerlerine göre çalışır.
Örnek tetikleyiciler:
- İfade: `last(/hostname/system.cpu.util[,user]) > 90`
- Anlamı: “Hostname” adlı sunucudaki kullanıcı CPU kullanımı son 5 dakikadır %90’ın üzerindeyse, durumu “Problem” olarak değiştir.
- İfade: `last(/hostname/vfs.fs.size[/,pfree]) < 10`
- Anlamı: Ana disk bölümündeki boş alan %10’un altına düşerse, durumu “Problem” olarak değiştir.
Bir tetikleyici “Problem” durumuna geçtiğinde, Zabbix arayüzünde bir alarm olarak görünür.
Olaylar (Events): Tetikleyicilerin Oluşturduğu Kayıtlar
Bir “Event” (Olay), sistemde meydana gelen önemli bir hadisenin kaydıdır. En yaygın olay türü, bir tetikleyicinin durumunun değişmesidir (örneğin, “OK” durumundan “Problem” durumuna geçmesi veya tam tersi). Her olay, zaman damgası, kaynağı (tetikleyici) ve ciddiyet seviyesi gibi bilgilerle birlikte kaydedilir. Olaylar, Zabbix’in geçmişte ne olduğunu anlamak ve raporlamak için kullandığı temel yapı taşıdır.
Eylemler (Actions): Problem Anında Ne Yapılacak?
Bir “Action” (Eylem), belirli olaylar meydana geldiğinde Zabbix’in otomatik olarak ne yapacağını tanımlar. “Problem anında ne yapılacak?” sorusunun cevabıdır. Eylemler, koşullara (örneğin, belirli bir host grubunda veya belirli bir ciddiyet seviyesinde bir problem oluştuğunda) ve operasyonlara (yapılacak işler) dayanır.
| Kavram | Sorduğu Soru | Örnek |
|---|---|---|
| Öğe (Item) | Ne izlenecek? | Sunucunun CPU kullanım yüzdesi. |
| Tetikleyici (Trigger) | Ne zaman problem var? | CPU kullanımı 5 dakikadır %95’in üzerindeyse. |
| Olay (Event) | Ne oldu? | “Yüksek CPU Kullanımı” tetikleyicisi ‘Problem’ durumuna geçti. |
| Eylem (Action) | Ne yapılacak? | Sistem yöneticisine e-posta gönder. |
E-posta, SMS veya Anlık Mesajlaşma ile Bildirim Gönderme
En yaygın eylem türü bildirim göndermektir. Zabbix, bir problem oluştuğunda veya çözüldüğünde ilgili kişilere veya gruplara e-posta, SMS (harici bir ağ geçidi aracılığıyla) veya Slack, Microsoft Teams, Telegram gibi popüler anlık mesajlaşma platformları üzerinden otomatik olarak mesaj gönderebilir.
Uzaktan Komut Çalıştırma
Zabbix, problem anında basit sorunları otomatik olarak çözmek için izlenen sunucu üzerinde uzaktan komutlar da çalıştırabilir. Örneğin, bir servis durduğunda onu yeniden başlatmak için bir komut (`systemctl restart servicename`) tanımlanabilir. Bu özellik, insan müdahalesi gerektiren durumları azaltarak otomasyonu artırır.
Şablonlar (Templates): İzleme Ayarlarını Yeniden Kullanma ve Standartlaştırma
Bir “Template” (Şablon), bir grup öğe (items), tetikleyici (triggers), grafik (graphs), keşif kuralı (discovery rules) ve diğer izleme varlıklarını içeren bir settir. Şablonların amacı, izleme yapılandırmasını standartlaştırmak ve yeniden kullanılabilir hale getirmektir. Örneğin, tüm Linux sunucularınız için ortak olan CPU, bellek, disk ve ağ izleme kurallarını içeren bir “Linux Sunucu Şablonu” oluşturabilirsiniz. Bu şablonu yeni bir Linux sunucusuna bağladığınızda, tüm bu kurallar otomatik olarak o sunucuya uygulanır. Bu, yüzlerce ayarı manuel olarak yapma zahmetinden kurtarır ve tutarlılık sağlar.
Veri Görselleştirme ve Raporlama
Zabbix’in topladığı ham veriler, anlamlı ve kolay anlaşılır bir şekilde sunulmadığı sürece pek bir değer ifade etmez. Zabbix, bu verileri görselleştirmek için panolar, grafikler, haritalar ve ekranlar gibi çok çeşitli ve esnek araçlar sunar. Bu araçlar sayesinde BT altyapınızın genel sağlık durumunu bir bakışta görebilir, performans trendlerini analiz edebilir ve olası sorunları hızla teşhis edebilirsiniz.
Panolar (Dashboards) Oluşturma ve Özelleştirme
Panolar (Dashboards), Zabbix arayüzüne giriş yaptığınızda sizi karşılayan ilk ekrandır ve sistemin genel durumunu özetleyen en önemli görselleştirme aracıdır. Zabbix, tamamen özelleştirilebilir panolar oluşturmanıza olanak tanır. Bir panoya çeşitli “widget” (bileşen) ekleyebilirsiniz. Popüler widget’lar şunlardır:
- Problem listesi: Mevcut tüm aktif sorunları ciddiyet seviyesine göre gösterir.
- Grafikler: Belirli bir öğenin (örneğin CPU kullanımı) zaman içindeki değişimini gösterir.
- Haritalar: Ağ topolojinizi veya servis bağımlılıklarınızı gösterir.
- Saat ve Sistem Bilgisi: Temel sistem bilgilerini ve saati gösterir.
- Favori Grafikler: Sık kullandığınız grafikleri bir araya getirir.
Farklı kullanıcı grupları (örneğin, sistem yöneticileri, ağ yöneticileri, yöneticiler) için farklı panolar oluşturarak her grubun sadece kendi ilgi alanındaki bilgileri görmesini sağlayabilirsiniz.
Grafik (Graph) Oluşturma ve Analizi
Grafikler, bir veya daha fazla öğenin zaman içindeki değer değişimini görsel olarak analiz etmenin en etkili yoludur. Zabbix, şablonlarla birlikte gelen birçok ön tanımlı grafik sunar (örneğin, CPU, bellek, ağ trafiği grafikleri). Ayrıca, istediğiniz herhangi bir öğe için özel grafikler oluşturabilirsiniz. Grafikler üzerinde belirli bir zaman aralığını yakınlaştırabilir (zoom), geçmiş verileri inceleyebilir ve performans anormalliklerini (örneğin, ani yükselişler) kolayca tespit edebilirsiniz. Birden fazla öğeyi aynı grafikte birleştirerek aralarındaki korelasyonu (örneğin, CPU artışının veritabanı sorgu sayısıyla ilişkisi) analiz edebilirsiniz.
Haritalar (Maps) ile Ağ Topolojisini Görselleştirme
Haritalar (Maps), BT altyapınızın statik veya dinamik bir topolojisini oluşturmanıza olanak tanır. Bir harita üzerinde sunucuları, switch’leri, router’ları ve diğer cihazları simgeleyen ikonlar yerleştirebilir ve bunları birbirine bağlayarak ağ bağlantılarını temsil edebilirsiniz. Haritaların en güçlü yanı, bağlı oldukları tetikleyicilerin durumuna göre renk değiştirmeleridir. Örneğin, bir sunucuda kritik bir problem oluştuğunda o sunucunun ikonu kırmızıya döner. Bu sayede, bir sorunun altyapının hangi bölümünde meydana geldiğini anında görebilir ve sorunun yayılma etkisini (örneğin, bir switch’in çökmesinin hangi sunucuları etkilediği) anlayabilirsiniz.
Ekranlar (Screens) ve Slayt Gösterileri (Slide shows)
Ekranlar (Screens), birden fazla görsel öğeyi (grafikler, haritalar, problem listeleri vb.) tek bir ızgara düzeninde bir araya getirmenizi sağlar. Bu, özellikle operasyon merkezlerinde (NOC) kullanılan büyük ekranlar için tasarlanmıştır ve altyapının farklı bölümlerinden gelen kritik bilgileri tek bir bakışta sunar. Slayt Gösterileri (Slide shows) ise birden fazla ekranı belirli bir süre aralığıyla otomatik olarak döndürerek gösterir. Bu, sınırlı sayıda ekranda çok fazla bilgiyi periyodik olarak izlemek için kullanışlı bir yöntemdir.
İleri Seviye Konular ve En İyi Uygulamalar
Zabbix’in temel kurulumunu ve kullanımını öğrendikten sonra, izleme altyapınızı daha verimli, otomatik ve ölçeklenebilir hale getirecek ileri seviye özellikleri keşfetmeye başlayabilirsiniz. Bu özellikler, manuel iş yükünü azaltır, büyük ve dinamik ortamların yönetimini kolaylaştırır ve izleme sisteminizin doğruluğunu artırır. Ayrıca, sistemin bakımını ve güvenliğini sağlamak için bazı en iyi uygulamaları benimsemek önemlidir.
Ağ Keşfi (Network Discovery) ile Otomatik Host Ekleme
Büyük ağlarda yeni sunucuları ve cihazları manuel olarak eklemek zaman alıcı ve hataya açık bir süreçtir. Zabbix’in Ağ Keşfi özelliği bu süreci otomatikleştirir. Belirli bir IP aralığını veya bir ağı periyodik olarak taramak için bir keşif kuralı tanımlayabilirsiniz. Zabbix, bu tarama sırasında belirli servislere (örneğin, Zabbix Agent, SNMP) yanıt veren cihazları bulur. Keşfedilen cihazların türüne göre (örneğin, işletim sistemi, açık portlar) otomatik olarak eylemler tanımlayabilirsiniz. Bu eylemler, cihazı uygun host grubuna eklemek ve doğru şablonu (template) bağlamak gibi işlemleri içerebilir. Bu sayede, ağınıza yeni bir sunucu eklendiğinde Zabbix onu otomatik olarak keşfeder ve izlemeye başlar.
Düşük Seviyeli Keşif (Low-Level Discovery – LLD)
Düşük Seviyeli Keşif (LLD), bir host üzerindeki benzer kaynakları (disk bölümleri, ağ arayüzleri, işlemci çekirdekleri vb.) otomatik olarak bulup bunlar için öğeler (items), tetikleyiciler (triggers) ve grafikler oluşturma yeteneğidir. Örneğin, bir sunucuya yeni bir disk eklediğinizde, LLD kuralı bu yeni disk bölümünü otomatik olarak algılar ve “boş alan” ve “toplam alan” gibi izleme öğelerini bu bölüm için otomatik olarak oluşturur. Bu, her bir dosya sistemi veya ağ arayüzü için manuel olarak öğe oluşturma ihtiyacını ortadan kaldırır ve şablonları çok daha dinamik ve güçlü hale getirir.
Web Senaryoları ile Web Sitelerinin Performansını İzleme
Zabbix, sadece bir web sitesinin “ayakta” olup olmadığını kontrol etmekle kalmaz, aynı zamanda kullanıcı etkileşimlerini simüle eden çok adımlı “Web Senaryoları” da oluşturabilir. Bir web senaryosu ile şu adımları otomatikleştirebilirsiniz: ana sayfaya gir, kullanıcı adı ve parola ile giriş yap, belirli bir linke tıkla, sayfada belirli bir metnin olup olmadığını kontrol et ve çıkış yap. Zabbix bu adımların her birinin ne kadar sürdüğünü, indirme hızını ve başarılı olup olmadığını izler. Bu sayede web uygulamanızın hem kullanılabilirliğini hem de performansını son kullanıcı gözünden test edebilirsiniz. Bir hosting hizmeti kullanıyorsanız, sitenizin performansını bu yöntemle sürekli takip edebilirsiniz.
Zabbix Proxy ile Dağıtık İzleme Mimarisi
Daha önce de bahsedildiği gibi, Zabbix Proxy, coğrafi olarak dağıtık veya ağ segmentasyonu olan büyük altyapıları izlemek için kritik bir bileşendir. Bir veya daha fazla proxy, uzak lokasyonlardaki cihazlardan veri toplar ve bu verileri merkezi Zabbix sunucusuna gönderir. Bu mimarinin avantajları şunlardır:
- Merkezi Sunucu Yükünü Azaltma: Veri toplama ve işleme yükü proxy’lere dağıtılır.
- Ağ Trafiğini Optimize Etme: Yüzlerce cihazdan gelen veri, tek bir proxy bağlantısı üzerinden merkeze iletilir.
- Güvenlik Duvarı Yönetimini Basitleştirme: Sadece proxy’nin merkezi sunucuya erişimi için bir kural açmak yeterlidir.
- Bağlantı Kesintilerine Karşı Dayanıklılık: Proxy ile merkez sunucu arasındaki bağlantı kopsa bile, proxy verileri toplamaya devam eder ve bağlantı yeniden kurulduğunda birikmiş verileri gönderir.
Bakım (Maintenance) Periyotları Tanımlama
Bir sunucu üzerinde planlı bir çalışma (örneğin, güncelleme, yeniden başlatma) yapacağınız zaman, Zabbix’in gereksiz alarmlar üretmesini istemezsiniz. Bakım Periyotları özelliği, belirli host veya host grupları için belirli zaman aralıklarında bildirimlerin ve eylemlerin devre dışı bırakılmasını sağlar. Bu sayede, planlı kesintiler sırasında “problem” bildirimleri almazsınız ve alarm yorgunluğunu önlersiniz.
Zabbix Sisteminin Yedeklenmesi ve Geri Yüklenmesi
Zabbix, kritik bir altyapı bileşeni olduğu için düzenli olarak yedeklenmelidir. Zabbix’i yedeklemek temel olarak üç bileşenin yedeğini almayı içerir:
- Zabbix Veritabanı: En önemli kısımdır. Tüm yapılandırma ve geçmiş verileri içerir. `mysqldump` veya `pg_dump` gibi standart veritabanı yedekleme araçları kullanılmalıdır.
- Zabbix Konfigürasyon Dosyaları: `/etc/zabbix/` dizini altında bulunan `zabbix_server.conf`, `zabbix_agentd.conf` gibi dosyalar.
- Zabbix Web Arayüzü PHP Dosyaları: Eğer özel değişiklikler yaptıysanız, `/usr/share/zabbix/` dizininin yedeğini almak da faydalı olabilir.
Bir felaket durumunda, bu yedekleri yeni bir sunucuya geri yükleyerek izleme sisteminizi kurtarabilirsiniz.
Zabbix ile Sunucu ve Ağ İzleme Hizmetleri İçin Neden İHS Telekom’u Tercih Etmelisiniz?
Zabbix, son derece güçlü ve esnek bir izleme aracı olmasına rağmen, kurulumu, yapılandırılması ve en iyi uygulamalara göre yönetilmesi uzmanlık ve tecrübe gerektirir. Altyapınızın 7/24 proaktif olarak izlenmesi, olası sorunların anında tespit edilip müdahale edilmesi, iş sürekliliğiniz için hayati öneme sahiptir. İHS Telekom olarak, Zabbix tabanlı profesyonel sunucu ve ağ izleme hizmetlerimizle dijital altyapınızı güvence altına alıyoruz. Bir VPS veya fiziksel sunucu kullanıyor olmanız fark etmeksizin, altyapınızın her bir bileşenini sizin için izliyoruz.
Uzman Kadro ile Anahtar Teslim Kurulum ve Yapılandırma
İHS Telekom’un deneyimli sistem mühendisleri, Zabbix izleme sistemini sizin altyapınıza en uygun şekilde tasarlar, kurar ve yapılandırır. Sunucularınız, ağ cihazlarınız, uygulamalarınız ve veritabanlarınız için en doğru izleme şablonlarını ve kurallarını belirleyerek, size anahtar teslim bir çözüm sunarız. Karmaşık kurulum ve yapılandırma süreçleriyle zaman kaybetmenize gerek kalmaz.
7/24 Proaktif İzleme ve Anında Müdahale Hizmeti
İzleme sisteminin asıl değeri, bir problem tespit edildiğinde ne kadar hızlı ve etkili müdahale edildiğiyle ölçülür. Teknik ekibimiz, Zabbix üzerinden gelen alarmları 7/24 takip eder. Kritik bir sorun oluştuğunda (örneğin, bir web sitesinin erişilemez olması veya bir servisin durması), sorunu size bildirmekle kalmaz, tanımlanan müdahale prosedürleri çerçevesinde sorunu çözmek için anında harekete geçer. Bu proaktif yaklaşım, iş kayıplarınızı en aza indirir.
Güvenilir ve Yüksek Performanslı Sunucu Altyapısı
İzleme hizmetlerimizi, kendi bünyemizde barındırdığımız yüksek performanslı ve yedekli bulut sunucu altyapısı üzerinde sunuyoruz. Bu, izleme sisteminin kendisinin de kesintisiz ve güvenilir bir şekilde çalışmasını garanti eder. Sunduğumuz tüm hizmetler gibi, izleme altyapımız da en yüksek kalite standartlarına sahiptir.
İhtiyaçlarınıza Göre Özelleştirilmiş ve Ölçeklenebilir Çözümler
Her işletmenin altyapısı ve izleme ihtiyaçları farklıdır. Standart paketlerin ötesine geçerek, sizin özel gereksinimlerinize yönelik izleme çözümleri geliştiriyoruz. İster birkaç sunuculuk küçük bir yapı, ister yüzlerce cihazdan oluşan karmaşık bir altyapı olsun, hizmetlerimizi ihtiyaçlarınıza göre ölçeklendiriyoruz. İşletmeniz büyüdükçe, izleme sistemimiz de sizinle birlikte sorunsuz bir şekilde büyür.
Kapsamlı Raporlama ve Danışmanlık Desteği
Toplanan verileri, altyapınızın performansı, kullanılabilirliği ve kapasite durumu hakkında size değerli bilgiler sunan düzenli raporlar halinde sunuyoruz. Bu raporlar, sisteminizdeki eğilimleri görmenize ve gelecekteki yatırım kararlarınızı daha sağlıklı bir şekilde almanıza yardımcı olur. Ayrıca, altyapınızın optimizasyonu konusunda size uzman danışmanlık desteği sağlıyoruz. Bir alan adı kaydından sunucu yönetimine kadar tüm dijital varlıklarınızın sorunsuz çalışması için buradayız.

