Zabbix ile Temel İzleme: Sistemlerinizi Proaktif Olarak Takip Etme Rehberi
Zabbix kullanarak Linux ve Windows sunucularınızın durumunu, ağ trafiğini ve kritik servisleri nasıl izleyeceğinizi, alarm mekanizmalarını nasıl kuracağınızı pratik örneklerle inceleyin.
Caner Serbest
Sistem ve Altyapı
4 dk okuma
Zabbix ile Temel İzleme: Sistemlerinizi Proaktif Olarak Takip Etme Rehberi
Sistem yöneticileri olarak en büyük kabuslarımızdan biri, sunucularda bir sorun oluştuğunda bunu ilk olarak müşterilerden veya son kullanıcılardan öğrenmektir. “Disk dolmuş”, “Servis çökmüş” ya da “CPU kullanımı yüzde yüz olmuş” gibi uyarıları kriz anında almak, operasyonel yükü ve stresi doğrudan artırır. Bu noktada proaktif bir yaklaşım benimsemek, sorunlar kullanıcıya yansımadan müdahale edebilmek için hayati önem taşır. İzleme (monitoring) araçları, bu proaktif yapının omurgasını oluşturur.
Açık kaynak dünyasında sistem izleme denince akla gelen ilk güçlü araçlardan biri Zabbix’tir. Esnek mimarisi, ajanlı (agent-based) ve ajansız (agentless) izleme yetenekleri, gelişmiş alarm (trigger) mekanizmaları ve görselleştirme araçlarıyla Zabbix, küçük ölçekli yapılardan kurumsal veri merkezlerine kadar geniş bir yelpazede güvenle kullanılmaktadır.
Bu yazıda, Zabbix kullanarak temel bir altyapı izleme mekanizmasını sıfırdan nasıl kuracağınızı, host ve item mantığını, SNMP ve Zabbix Agent kullanımını ve alarm yapılandırmalarını gerçekçi senaryolar üzerinden ele alacağız.
1. Zabbix Mimarisi ve Temel Kavramlar
Zabbix’in yapısını anlamak, doğru bir izleme stratejisi kurmanın ilk adımıdır. Sistem temel olarak şu bileşenlerden oluşur:
- Zabbix Server: Tüm verilerin toplandığı, saklandığı ve alarm durumlarının kontrol edildiği merkezi beyindir.
- Zabbix Database: Toplanan tüm metriklerin, yapılandırma ayarlarının ve logların tutulduğu MySQL, PostgreSQL veya TimescaleDB veritabanıdır.
- Zabbix Frontend (Web Arayüzü): Kullanıcıların grafikleri incelediği, alarm durumlarını gördüğü ve yapılandırmaları yönettiği PHP tabanlı arayüzdür.
- Zabbix Agent: İzlenecek sunuculara kurulan, yerel kaynak tüketimini (CPU, RAM, Disk) toplayıp Zabbix Server’a ileten hafif bir servistir.
İzleme sürecinde sıkça karşılacağınız iki temel terim vardır:
- Host (Sunucu/Cihaz): İzlemek istediğiniz sunucu, switch, güvenlik duvarı veya herhangi bir ağ cihazı.
- Item (Metrik): Host üzerinden toplamak istediğiniz her bir veri kalemi (Örn: Boş disk alanı, ping yanıt süresi, SSH servisinin durumu).
2. Zabbix Agent Kurulumu ve Yapılandırması
Linux tabanlı (örneğin Ubuntu Server) bir sunucuyu Zabbix ile izlemek için öncelikle sunucu tarafına Zabbix Agent kurmamız gerekir. Güncel Zabbix sürümüne uygun repoyu ekleyerek başlayalım.
# Zabbix repository yapılandırması (Ubuntu 22.04 / 24.04 için örnek)
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
# Zabbix agent kurulumu
sudo apt install zabbix-agent -y
Kurulum tamamlandıktan sonra yapılandırma dosyasını (/etc/zabbix/zabbix_agentd.conf) düzenlememiz gerekir. Bu dosyada en önemli parametreler Zabbix Server’ın IP adresi ve bu sunucunun adıdır.
# /etc/zabbix/zabbix_agentd.conf dosyasından ilgili satırları güncelleyin
Server=192.168.1.100 # Zabbix Server IP adresi
ServerActive=192.168.1.100 # Aktif kontrol için sunucu IP adresi
Hostname=web-server-01 # Zabbix arayüzünde görünecek benzersiz isim
Yapılandırma dosyasını kaydettikten sonra servisi yeniden başlatın ve sistem açılışında çalışacak şekilde aktif hale getirin:
sudo systemctl restart zabbix-agent
sudo systemctl enable zabbix-agent
Uzak sunucuda güvenlik duvarı (UFW) kullanıyorsanız, Zabbix Agent’ın kullandığı 10050 numaralı TCP portuna izin vermeniz gerekebilir:
sudo ufw allow 10050/tcp
3. Zabbix Web Arayüzünde Host Tanımlama
Agent kurulumunu tamamladıktan sonra Zabbix Server ile haberleşmesini sağlamak için web arayüzüne (Frontend) giriş yapın.
- Data collection > Hosts menüsüne gidin.
- Sağ üst köşedeki Create host butonuna tıklayın.
- Host name kısmına agent yapılandırma dosyasında yazdığınız ismi (
web-server-01) girin. - Templates sekmesinden uygun şablonu seçin. Linux sunucular için genellikle
Linux by Zabbix agentşablonu yeterlidir. Bu şablon, temel CPU, bellek, disk ve ağ arayüzü metriklerini otomatik olarak getirecektir. - Interfaces kısmında Add > Agent seçeneğini seçerek sunucunun IP adresini (
192.168.1.50) girin ve portun10050olduğundan emin olun. - Add butonuna basarak host kaydını tamamlayın.
Birkaç dakika içinde arayüzdeki yeşil ZBX ikonunun aktif olduğunu görmelisiniz. Bu, sunucunun başarıyla haberleştiğini gösterir.
4. Kritik Metrikleri İzleme ve Alarm (Trigger) Yapılandırması
Sadece veri toplamak yetmez; bu verilerin belirli eşikleri aşması durumunda haberdar olmamız gerekir. Zabbix şablonları genellikle standart alarmlarla birlikte gelir, ancak özelleştirilmiş senaryolar için kendi alarm kurallarımızı yazabiliriz.
Örneğin, root (/) dizininin doluluk oranı %90’ı geçtiğinde uyarı üretmek istiyorsanız:
- İlgili hostun altındaki Triggers sekmesine gidin.
- Create trigger butonuna tıklayın.
- Name:
Disk space is critically low on root partitiongibi açıklayıcı bir isim verin. - Severity:
HighveyaDisasterolarak belirleyin. - Expression (İfade): Zabbix fonksiyonlarını kullanarak disk kapasitesini kontrol eden bir mantık kurun. Örnek ifade yapısı şu şekildedir:
last(/web-server-01/vfs.fs.size[/,pused])>90
Bu ifade, web-server-01 üzerindeki / dizininin kullanım yüzdesinin son değerinin %90’dan büyük olup olmadığını kontrol eder.
5. Alarm Bildirim Kanalları (Medya Türleri)
Sistem alabora olduğunda bunu Zabbix paneline bakarak anlamak her zaman mümkün değildir. Bu yüzden alarm bildirimlerini e-posta, Telegram, Slack veya Webhook gibi kanallara yönlendirmek şarttır.
Zabbix üzerinde e-posta bildirimleri için:
- Administration > Media types menüsünden Email seçeneğini yapılandırın.
- Kendi SMTP sunucu bilgilerinizi (SMTP server, port, kimlik doğrulama bilgileri) girin.
- Administration > Users menüsünden kendi kullanıcınıza ilgili medya türünü ve e-posta adresinizi tanımlayın.
- Alerts > Actions menüsünden tetikleyicilerin hangi durumlarda hangi kullanıcılara bildirim göndereceğini belirleyen bir kural (Action) tanımlayın.
6. Operasyonel En İyi Uygulamalar ve Sürdürülebilirlik
Zabbix gibi güçlü bir aracı yönetirken dikkat etmeniz gereken bazı operasyonel kurallar vardır:
- Gereksiz Metriklerden Kaçının: Her şeyi izlemek istemek veritabanını şişirir ve performans sorunlarına yol açar. Yalnızca iş açısından kritik olan metrikleri (CPU, RAM, Disk, Disk I/O, Network, Servis Durumu) izleyin.
- Alarm Yorgunluğuna (Alarm Fatigue) Dikkat Edin: Anlamlı olmayan veya geçici dalgalanmalarda sürekli alarm gönderen kurallar, bir süre sonra yöneticilerin alarmları sessize almasına veya göz ardı etmesine neden olur. Eşik değerlerini gerçekçi seviyelere ayarlayın.
- Veritabanı Bakımı: Zabbix veritabanı hızla büyür. Geçmiş verilerin (History ve Trends) saklanma sürelerini (Housekeeping) sisteminizin kapasitesine göre optimize edin.
Sonuç
Zabbix ile temel izleme altyapısı kurmak, sistemlerinizin sağlığını sürekli kontrol altında tutmanın en güvenilir yollarından biridir. Doğru yapılandırılmış bir izleme sistemi, krizleri önceden sezmenizi sağlar, operasyonel yükü azaltır ve sistem yöneticisi olarak geceleri kafanızı yastığa rahat koymanıza yardımcı olur. Altyapınızı ne kadar iyi izlerseniz, büyüme sürecinde o kadar güvenli adımlar atarsınız.
Bu yazı Gemini ile otomatik oluşturulmuştur.