Zabbix ile Sunucu İzleme ve Alarm Yapılandırması

📅 17 Aralık 2025Emre Karabulut
⏱️ Yaklaşık 11 dakikalık okuma süresi

Elbette, bir sistem yöneticisi bakış açısıyla Zabbix ile sunucu izleme ve alarm yapılandırması üzerine teknik bir blog yazısı aşağıdadır:






Zabbix ile Sunucu İzleme ve Alarm Yapılandırması


Giriş: Neden Zabbix ile Sunucu İzleme?

Modern BT altyapılarında sunucuların kesintisiz ve optimum performansta çalışması, iş sürekliliği için hayati öneme sahiptir. Olası sorunları kullanıcılar fark etmeden önce tespit etmek, performansı izlemek ve proaktif müdahalelerle olası kesintileri önlemek amacıyla güçlü bir izleme çözümüne ihtiyaç duyarız. İşte bu noktada açık kaynaklı, esnek ve ölçeklenebilir bir izleme platformu olan Zabbix devreye girer.

Zabbix, sadece CPU veya RAM kullanımını değil, aynı zamanda ağ trafiği, disk I/O, servislerin durumu, log dosyaları ve hatta özel uygulamalarınızdan alınan metrikleri de izleyebilir. Kritik durumlar için gelişmiş alarm mekanizmaları sayesinde anında bilgilendirme alarak müdahale sürenizi kısaltabilir ve kesintileri en aza indirebilirsiniz.

Bu teknik blog yazısında, bir sistem yöneticisi perspektifinden Zabbix kullanarak sunucularınızı nasıl izleyeceğinizi ve kritik durumlarda otomatik olarak nasıl alarm alacağınızı adım adım anlatacağım. Kurulumdan temel yapılandırmaya ve alarm mekanizmalarına kadar tüm süreçleri kapsayacağız.

Kurulum Adımları: Zabbix Server ve Agent’ın Hazırlanması

Zabbix Server’ı kurmak için genellikle bir Linux sunucusu tercih edilir. Bu rehberde Ubuntu Server 22.04 LTS üzerinde Zabbix 6.0 LTS sürümünü kullanarak kurulum adımlarını ele alacağız. Veritabanı olarak MySQL kullanacağız.

1. Zabbix Depolarını Ekleme

Öncelikle Zabbix deposunu sisteminize eklemelisiniz:

wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-1+ubuntu22.04_all.deb
sudo dpkg -i zabbix-release_6.0-1+ubuntu22.04_all.deb
sudo apt update

2. Zabbix Server, Frontend ve Agent Kurulumu

Şimdi Zabbix Server, web arayüzü (frontend) ve MySQL veritabanı desteğini kurabiliriz. Ayrıca bu sunucu üzerinde Zabbix Agent’ı da kurarak kendi kendini izlemesini sağlayacağız.

sudo apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-agent

3. MySQL Veritabanı Oluşturma

Zabbix’in çalışabilmesi için bir veritabanına ihtiyacı vardır. MySQL sunucunuzu kurduktan sonra (sudo apt install mysql-server), aşağıdaki komutlarla bir veritabanı ve kullanıcı oluşturun:

sudo mysql -uroot -p

CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'sifreniz';
GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost';
FLUSH PRIVILEGES;
EXIT;

NOT: ‘sifreniz’ kısmını güçlü ve güvenli bir parola ile değiştirin.

4. Zabbix Veritabanı Şemasını İçeri Aktarma

Oluşturduğumuz veritabanına Zabbix’in ihtiyacı olan şemayı içeri aktarın. Bu işlem biraz zaman alabilir.

zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | sudo mysql -uzabbix -p zabbix

Yukarıdaki komutu çalıştırdığınızda, bir önceki adımda belirlediğiniz Zabbix veritabanı parolasını girmeniz istenecektir.

5. Zabbix Server Yapılandırması

Zabbix Server yapılandırma dosyasını düzenleyerek veritabanı bağlantı bilgilerini tanımlayın:

sudo nano /etc/zabbix/zabbix_server.conf

Aşağıdaki satırları bulun ve güncelleyin:

DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=sifreniz

Yine ‘sifreniz’ kısmını kendi parolanızla değiştirin.

6. PHP Yapılandırması

Zabbix web arayüzünün doğru çalışabilmesi için PHP ayarlarını düzenlemelisiniz. PHP versiyonunuza göre (Ubuntu 22.04 için genellikle php8.1) ilgili php.ini dosyasını düzenleyin:

sudo nano /etc/php/8.1/apache2/php.ini

Aşağıdaki değerleri bulun veya ekleyin:

max_execution_time = 300
max_input_time = 300
post_max_size = 16M
upload_max_filesize = 2M
memory_limit = 256M
date.timezone = Europe/Istanbul  ; Kendi zaman diliminizi ayarlayın

7. Servisleri Başlatma ve Etkinleştirme

Değişikliklerin etkili olması için Zabbix Server ve Apache servislerini yeniden başlatın, ayrıca sistem açılışında otomatik başlamaları için etkinleştirin:

sudo systemctl restart zabbix-server zabbix-agent apache2
sudo systemctl enable zabbix-server zabbix-agent apache2

8. Zabbix Web Arayüzü Kurulumu

Tarayıcınızı açın ve Zabbix sunucunuzun IP adresine veya alan adına gidin (örn: http://sizin_ip_adresiniz/zabbix). Kurulum sihirbazı sizi yönlendirecektir. Tüm gereksinimleri kontrol edin, veritabanı bağlantı bilgilerini girin ve kurulumu tamamlayın. Varsayılan kullanıcı adı Admin, parola zabbix ile giriş yapın (ilk girişte parolayı değiştirmeniz şiddetle tavsiye edilir).

Yapılandırma: Host Ekleme ve Alarm Yapılandırması

Zabbix Server’ınız hazır olduğuna göre, artık izlemek istediğimiz sunucuları (host) eklemeye ve alarm yapılandırmasına geçebiliriz.

1. Zabbix Agent Kurulumu ve Yapılandırması (İzlenecek Sunucuda)

İzlemek istediğiniz her bir sunucuya Zabbix Agent kurmanız gerekmektedir. Agent, sunucudaki metrikleri toplayıp Zabbix Server’a güvenli bir şekilde gönderir.

Agent Kurulumu (Örnek: Ubuntu Üzerinde)

İzlenecek sunucuda da Zabbix deposunu ekleyip agent’ı kurun:

wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-1+ubuntu22.04_all.deb
sudo dpkg -i zabbix-release_6.0-1+ubuntu22.04_all.deb
sudo apt update
sudo apt install zabbix-agent

Agent Yapılandırması

Agent’ın Zabbix Server ile iletişim kurabilmesi için yapılandırma dosyasını düzenleyin:

sudo nano /etc/zabbix/zabbix_agentd.conf

Aşağıdaki satırları bulun ve güncelleyin:

  • Server=ZABBIX_SERVER_IP (Zabbix Server’ınızın IP adresini veya hostname’ini girin)
  • ServerActive=ZABBIX_SERVER_IP (Aktif kontroller için)
  • Hostname=IZLENECEK_SUNUCU_ADI (Zabbix arayüzünde görünecek benzersiz bir isim. Makine adı veya kolay anlaşılır bir isim kullanın.)

Değişiklikleri kaydedin ve Zabbix Agent servisini yeniden başlatın:

sudo systemctl restart zabbix-agent
sudo systemctl enable zabbix-agent

2. Zabbix Arayüzünden Host Ekleme

Zabbix web arayüzüne giriş yapın ve şu adımları izleyin:

  1. Configuration > Hosts sekmesine gidin.
  2. Sağ üst köşedeki Create host butonuna tıklayın.
  3. Aşağıdaki alanları doldurun:

    • Host name: Agent yapılandırma dosyasındaki Hostname ile aynı olmalı (örn: webserver01.example.com).
    • Visible name: Arayüzde görünecek dostça isim (örn: Web Sunucusu - Üretim).
    • Groups: Sunucunuzu bir gruba atayın veya yeni bir grup oluşturun (örn: Linux Servers).
    • Interfaces: Agent seçeneğini tıklayın ve izlenecek sunucunun IP adresini (veya DNS adını) girin. Varsayılan Agent portu 10050’dir.
  4. Templates sekmesine geçin. Sağdaki Select butonuna tıklayarak “Linux by Zabbix agent” gibi bir şablon seçin ve Add butonuna tıklayın. Bu şablon, birçok temel metrik (CPU, RAM, Disk, Ağ vb.) için hazır öğeler (items) ve tetikleyiciler (triggers) içerir.
  5. Add butonuna tıklayarak host’u oluşturun.

Birkaç dakika içinde “Availability” sütunundaki Zabbix Agent simgesinin yeşile dönmesi gerekir. Bu, Zabbix Server’ın Agent ile başarılı bir şekilde iletişim kurduğunu gösterir ve artık host’unuz izlenmeye başlanmıştır.

3. Alarm (Trigger) Yapılandırması: Disk Doluluğu Örneği

Varsayılan şablonlar genellikle yeterli olsa da, bazen özel tetikleyicilere ihtiyacımız olabilir. Örneğin, bir disk bölümünün %80’in üzerinde doluluğa ulaşması durumunda bir uyarı almak isteyelim.

  1. Zabbix arayüzünde Configuration > Hosts‘a gidin.
  2. İlgili host’un yanındaki Triggers sütununa tıklayın.
  3. Sağ üst köşedeki Create trigger butonuna tıklayın.
  4. Aşağıdaki alanları doldurun:

    • Name: {HOST.NAME} Disk Doluluğu Yüksek (/mnt)
    • Severity: Warning veya Average seçebilirsiniz.
    • Expression: Bu, tetikleyici mantığını belirler. “Add” butonuna tıklayarak “Item” seçin. İlgili host’un “vfs.fs.size[/mnt,pfree]” gibi bir item’ını arayın (eğer diski /mnt olarak izliyorsanız). Bu item, ilgili disk bölümündeki boş disk alanını yüzde olarak döndürür.
    • Örnek ifade: {webserver01.example.com:vfs.fs.size[/mnt,pfree].last()} < 20 (Bu ifade, /mnt diskinin boş alanı %20’nin altına düştüğünde tetiklenir, yani %80 doluluğa ulaştığında bir problem oluşturur.)
  5. Add butonuna tıklayın.

4. Medya Türleri (Media Types) Yapılandırması (Email Örneği)

Alarm almak için Zabbix’e bildirim gönderme yöntemlerini (medya türleri) tanımlamamız gerekir. En yaygın kullanılanlardan biri e-postadır.

  1. Administration > Media types‘a gidin.
  2. Email medya türüne tıklayın.
  3. Aşağıdaki SMTP ayarlarını yapılandırın (kendi posta sunucunuzun bilgileriyle):

    • SMTP server: smtp.ornek.com (Örn: smtp.gmail.com veya kendi şirketinizin SMTP sunucusu)
    • SMTP helo: ornek.com (SMTP sunucusunun Helo ismi)
    • SMTP email: zabbix@ornek.com (Bildirimleri gönderecek e-posta adresi)
    • Connection security: STARTTLS veya SSL/TLS (Posta sunucunuzun desteklediği protokole göre)
    • Authentication: Username and password
    • Username: zabbix@ornek.com
    • Password: eposta_sifreniz
  4. Ayarları test etmek için sağ alttaki Test butonunu kullanabilirsiniz. Ardından Update butonuna tıklayarak kaydedin.

5. Kullanıcıya Medya Ekleme

Hangi kullanıcının hangi medya türüyle bildirim alacağını belirleyin.

  1. Administration > Users‘a gidin.
  2. Kendinizi veya bildirim almak istediğiniz kullanıcıyı seçin (örn: Admin).
  3. Media sekmesine geçin ve sağdaki Add butonuna tıklayın.
  4. Aşağıdaki ayarları yapın:

    • Type: Email
    • Send to: Kendi e-posta adresinizi girin.
    • When active: Hangi saatlerde bildirim almak istediğinizi belirtin (örn: 1-7,00:00-24:00 tüm günler, tüm saatler için).
    • Use problem severities: Hangi ciddiyetteki sorunlar için bildirim alacağınızı seçin (örn: Warning ve üzeri tüm ciddiyetler için).
  5. Add ve ardından kullanıcı düzenleme sayfasında Update butonlarına tıklayarak kaydedin.

6. Aksiyon (Action) Yapılandırması

Bir tetikleyici (trigger) bir sorunu tetiklediğinde Zabbix’in ne yapacağını aksiyonlar belirler. Yani, “şu tetikleyici tetiklenirse, bu kullanıcıya bu yolla şu mesajı gönder” kuralını tanımlarız.

  1. Configuration > Actions > Trigger actions‘a gidin.
  2. Mevcut “Report problems to Zabbix administrators” aksiyonunu düzenleyebilir veya yeni bir aksiyon oluşturabilirsiniz. Yeni bir aksiyon oluşturmak için sağ üstteki Create action butonuna tıklayın.
  3. Action tab’ında:
    • Name: Sunucu Problemlerini E-posta ile Bildir
    • Default subject: Problem: {EVENT.NAME} - {HOST.NAME} (Bu, e-posta konusunu belirler)
    • Default message: Problem: {EVENT.NAME} at {HOST.NAME} ({HOST.IP})\nSeverity: {TRIGGER.SEVERITY}\nOriginal value: {ITEM.VALUE}\n{TRIGGER.URL} (E-posta içeriğini belirler. Makrolar sayesinde dinamik bilgiler içerir.)
  4. Conditions tab’ında: (Hangi durumlarda bu aksiyonun tetikleneceğini belirleyin)
    • Varsayılan “Trigger value = PROBLEM” ve “Trigger severity >= Warning” genellikle yeterlidir. İsterseniz belirli host gruplarını veya tetikleyicileri hedefleyebilirsiniz.
  5. Operations tab’ında:
    • New butonuna tıklayın.
    • Step: 1
    • Operation type: Send message
    • Send to Users: Zabbix administrators (veya oluşturduğunuz kullanıcı grubu/kullanıcı)
    • Send only to: Email (daha önce yapılandırdığınız medya türü)
  6. Add ve ardından aksiyon düzenleme sayfasında Update butonlarına tıklayarak kaydedin.

Artık, izlediğiniz sunucuda belirlediğiniz tetikleyici koşulu (örn. disk doluluğu %80’in üzerine çıktığında) gerçekleştiğinde, Zabbix size e-posta ile bildirim gönderecektir.

Sonuç

Bu blog yazısında, Zabbix’in kurulumundan sunucu izlemeye ve gelişmiş alarm yapılandırmasına kadar olan temel adımları detaylıca inceledik. Zabbix, sunduğu esneklik ve zengin özellik seti ile BT altyapınızın sağlığını ve performansını sürekli olarak gözlemlemenizi, olası sorunları proaktif bir şekilde tespit etmenizi ve kesintileri minimize etmenizi sağlar.

Kurulum ve temel yapılandırma ile ilk adımı attık. Unutmayın ki Zabbix’in potansiyeli çok daha geniştir. Kendi özel metriklerinizi oluşturabilir, gelişmiş şablonlar kullanabilir, otomatik keşif (LLD – Low-Level Discovery) ve hatta özel script’ler ile otomasyonlar gerçekleştirebilirsiniz. Zabbix topluluğu ve dökümantasyonu, bu konuda size büyük destek sağlayacaktır. BT ortamınızın ihtiyaçlarına göre Zabbix’i keşfetmeye ve özelleştirmeye devam edin.

Sorunsuz ve kesintisiz çalışan bir altyapı için izleme her zaman önceliğiniz olmalıdır.


Emre Karabulut
📊 Bu yazı 26 kez okundu.