Merhaba BT Profesyonelleri,
Günümüzün dinamik altyapılarında sunucu sağlığını ve performansını sürekli takip etmek, olası sorunları proaktif bir şekilde tespit etmek ve hızlıca müdahale etmek kritik öneme sahiptir. İşte bu noktada Zabbix gibi güçlü bir açık kaynak izleme çözümü devreye giriyor. Zabbix, sunucularınızdan ağ cihazlarınıza, sanal makinelerden bulut servislerine kadar geniş bir yelpazede metriği toplamanızı, bunları görselleştirmenizi ve belirlediğiniz eşik değerler aşıldığında sizi anında bilgilendirmenizi sağlar.
Bu yazıda, Zabbix kullanarak bir sunucuyu nasıl izlemeye alacağımızı ve kritik durumlar için nasıl alarm yapılandıracağımızı adım adım inceleyeceğiz.
Zabbix Agent Kurulumu: İzlemenin Temeli
Zabbix’in bir sunucudan veri toplayabilmesi için genellikle izlenecek sunucuya Zabbix Agent’ın kurulması gerekir. Agent, sunucudaki CPU kullanımı, bellek, disk alanı, ağ trafiği gibi çeşitli metrikleri toplar ve Zabbix Sunucusuna gönderir.
Aşağıda, popüler bir Linux dağıtımı (örneğin Ubuntu/Debian tabanlı) için basit bir kurulum örneği bulunmaktadır:
# Zabbix depolarını ekle (sürümünüze göre kontrol edin, bu örnek Zabbix 6.4 içindir)
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'ı kur
sudo apt install zabbix-agent
# Agent yapılandırma dosyasını düzenle
sudo nano /etc/zabbix/zabbix_agentd.conf
# Aşağıdaki satırları kendi Zabbix Sunucunuzun IP adresi ve izlenen sunucunun hostname'i ile değiştirin:
# Server=192.168.1.100 (Zabbix Sunucunuzun IP adresi)
# ServerActive=192.168.1.100 (Zabbix Sunucunuzun IP adresi, active check'ler için)
# Hostname=my-production-server (Zabbix'de bu sunucuya vereceğiniz isim ile eşleşmeli)
# Değişiklikleri kaydettikten sonra Zabbix Agent servisini yeniden başlatın
sudo systemctl restart zabbix-agent
sudo systemctl enable zabbix-agent
Windows için farklı bir kurulum süreci vardır ancak temel mantık aynıdır: agent’ı kur, yapılandır ve servisi başlat.
Zabbix Web Arayüzünden Sunucu Ekleme (Host)
Agent’ı kurduktan sonra sıra Zabbix Sunucusuna bu agent’ı tanıtmaya gelir:
- Zabbix Web arayüzüne giriş yapın.
- Sol menüden
Configuration -> Hostsyolunu takip edin. - Sağ üst köşedeki
Create hostbutonuna tıklayın. - Açılan formda aşağıdaki bilgileri girin:
- Host name: Zabbix Agent yapılandırma dosyasındaki
Hostnameile aynı olmalı. (Örn:my-production-server) - Visible name: Zabbix arayüzünde görünen ad (isteğe bağlı, Host name’den farklı olabilir).
- Groups: Sunucuyu dahil edeceğiniz grubu seçin veya yeni bir grup oluşturun (Örn:
Linux Servers). - Interfaces:
Addbutonuna tıklayarak yeni bir interface ekleyin.Type:Zabbix agentIP address:İzlenecek sunucunun IP adresi.Port:Varsayılan10050.
- Host name: Zabbix Agent yapılandırma dosyasındaki
Templatessekmesine geçin.Link new templateskısmındanSearchbutonuna tıklayın ve örneğinTemplate OS Linux by Zabbix agentşablonunu seçin. Bu şablon, temel Linux metrikleri için hazır öğeler, tetikleyiciler ve grafikler içerir.Addbutonuna tıklayarak şablonu ekleyin, ardından en alttakiAddbutonuna basarak sunucuyu kaydedin.
Birkaç dakika içinde Zabbix sunucunuz, eklediğiniz host’tan veri toplamaya başlayacak ve Monitoring -> Latest data bölümünde bu verileri görebileceksiniz.
İzleme Öğeleri (Items) ve Tetikleyiciler (Triggers)
Zabbix’e bir host eklediğinizde ve bir şablon bağladığınızda, o şablon içindeki hazır “Items” (izleme öğeleri) otomatik olarak devreye girer. Items, sunucudan toplanacak belirli bir veri parçasını tanımlar (örneğin, CPU yükü, boş disk alanı).
Her Item için genellikle bir veya daha fazla “Trigger” (tetikleyici) tanımlıdır. Trigger’lar, bir Item’ın topladığı verinin belirli bir eşik değeri aştığında veya belirli bir koşulu sağladığında “PROBLEM” durumu oluşturur.
Örnek bir tetikleyici ifadesi:
{my-production-server:system.cpu.load[all,avg1].last()}>5
Bu ifade, my-production-server adlı host’un CPU yükünün (son 1 dakikalık ortalama) 5’in üzerine çıktığında bir PROBLEM durumu oluşturur. Şablonlar bu karmaşık ifadeleri sizin yerinize halleder, ancak gerekirse Configuration -> Templates veya Configuration -> Hosts menülerinden kendi özel Item ve Trigger’larınızı oluşturabilir veya mevcutları düzenleyebilirsiniz.
Alarm Yapılandırması: Olaylara Hızlı Müdahale (Actions)
Zabbix’in gücü, sadece sorunları tespit etmekle kalmayıp, bu sorunlar hakkında sizi anında bilgilendirebilmesinde yatar. İşte bu kısım “Actions” (Eylemler) ile yönetilir.
İlk olarak, bir bildirim yöntemi (Media Type) yapılandırmanız gerekir. En yaygın olanı E-posta veya Slack/Teams gibi anlık mesajlaşma servisleridir.
1. Medya Tipi (Media Type) Yapılandırması (E-posta Örneği)
- Zabbix Web arayüzünde
Administration -> Media typesyolunu izleyin. - Mevcut
Emailmedya tipine tıklayın veya yeni bir tane oluşturun. - SMTP sunucu bilgilerinizi (
SMTP server,SMTP helo,SMTP email,Authenticationvb.) doldurun ve test edin. Updatebutonuna tıklayın.
2. Kullanıcıya Medya Ekleme
Administration -> Usersyolunu izleyin.- Kendi kullanıcı adınıza tıklayın (veya bildirim alacak bir kullanıcı oluşturun).
Mediasekmesine geçin veAddbutonuna tıklayın.Typeolarak az önce yapılandırdığınızEmail‘i seçin.Send toalanına e-posta adresinizi girin.Severitieskısmında hangi önem derecesindeki problemler için bildirim almak istediğinizi seçin (genellikleWarningve üzeri).Addve ardındanUpdatebutonlarına tıklayın.
3. Action (Eylem) Oluşturma
Zabbix’te Configuration -> Actions menüsü altında varsayılan olarak zaten birkaç action tanımlıdır (örneğin Report problems to Zabbix administrators). Genellikle bunları düzenleyebilir veya kendi özel action’larınızı oluşturabilirsiniz.
Configuration -> Actionsyolunu izleyin veTrigger actionsseçeneğini seçin.- Sağ üst köşedeki
Create actionbutonuna tıklayın. - Action sekmesi:
Name:Anlamlı bir isim verin (Örn:Kritik Sunucu Problemleri E-posta Bildirimi).Default subject:Bildirim e-postasının konusu (Örn:PROBLEM: {TRIGGER.NAME} on {HOST.NAME}).Default message:Bildirim e-postasının içeriği (Zabbix makrolarını kullanabilirsiniz, örn:Trigger: {TRIGGER.NAME}\nHost: {HOST.NAME}\nSeverity: {TRIGGER.SEVERITY}\nOriginal value: {ITEM.VALUE}\nURL: {TRIGGER.URL}).
- Conditions sekmesi: Bu action’ın ne zaman tetikleneceğini belirler. Örnek koşullar:
Trigger severity>=Warning(Sadece Warning ve üzeri problemler için bildirim gönder)Host group=Linux Servers(Sadece “Linux Servers” grubundaki host’lar için bildirim gönder)
- Operations sekmesi: Bu action tetiklendiğinde ne yapılacağını belirler.
Newbutonuna tıklayın.Operation type:Send messageSend to Users:Bildirim alacak kullanıcıları seçin (örneğin, kendi kullanıcı adınızı).Send only to:Kullanıcının hangi medya tipini kullanacağını seçin (örneğin,Email).SubjectveMessagealanlarını boş bırakarak varsayılanı kullanmasını sağlayabilirsiniz.
Addbutonuna tıklayarak işlemi ekleyin ve ardından ana Action sayfasındakiAddbutonuna tıklayarak action’ı kaydedin.
Artık belirlediğiniz koşullara uyan bir sorun oluştuğunda Zabbix, yapılandırdığınız e-posta adresine bildirim gönderecektir! Ayrıca, Operations sekmesine başka adımlar da ekleyebilirsiniz; örneğin, problemi otomatik olarak kapatmak (recovery message), bir script çalıştırmak veya ikinci bir bildirim göndermek gibi.
Sonuç: Proaktif İzleme ile Daha Güvenilir Sistemler
Zabbix ile sunucu izleme ve alarm yapılandırması, BT altyapınızın sağlığını ve performansını sürekli kontrol altında tutmanızı sağlar. Agent kurulumundan host eklemeye, izleme öğelerinden tetikleyicilere ve son olarak da kritik olaylar için bildirim eylemlerini yapılandırmaya kadar temel adımları bu yazıda ele aldık.
Unutmayın, iyi yapılandırılmış bir izleme sistemi, sorunları büyümeden yakalamanıza ve iş sürekliliğini sağlamanıza olanak tanır. Zabbix’in sunduğu geniş özellik yelpazesini keşfetmeye devam ederek, kendi ihtiyaçlarınıza özel daha gelişmiş izleme çözümleri oluşturabilirsiniz.
İyi izlemeler!
