Zabbix Nedir ve Neden Kullanmalıyız?
Zabbix, sunucularınızın, sanal özel sunucularınızın (VPS), ağ cihazlarınızın, uygulamalarınızın ve hizmetlerinizin performansını ve kullanılabilirliğini izlemek için tasarlanmış, açık kaynaklı ve güçlü bir kurumsal düzeyde izleme çözümüdür. Gerçek zamanlı veri toplama, görselleştirme, analiz ve esnek uyarı yetenekleri sunar. Sistem yöneticilerinin ve DevOps ekiplerinin altyapılarındaki sorunları proaktif olarak tespit etmelerine ve çözmelerine yardımcı olur.
Zabbix’in Temel Özellikleri
- Geniş Kapsamlı İzleme: CPU kullanımı, bellek, disk alanı, ağ trafiği, sistem süreçleri, veritabanı performansları ve özel uygulamalar dahil olmak üzere her türlü metriği izleyebilir.
- Esnek Veri Toplama: Zabbix Agent’lar, SNMP, JMX, IPMI, HTTP/HTTPS ve özel betikler aracılığıyla veri toplayabilir.
- Görselleştirme: Toplanan verileri grafikler, haritalar, gösterge tabloları (dashboards) ve ekranlar aracılığıyla kolayca görselleştirebilirsiniz.
- Gelişmiş Uyarı Sistemi: Belirlenen eşik değerleri aşıldığında e-posta, SMS, Slack, PagerDuty gibi çeşitli kanallar üzerinden otomatik bildirimler gönderir. Durum bağımlı ve eskalasyonlu uyarılar yapılandırılabilir.
- Dağıtık İzleme: Zabbix Proxy’leri kullanarak binlerce cihazı uzaktan ve güvenli bir şekilde izleyebilir, merkezi sunucunun yükünü azaltabilirsiniz.
- Otomatik Keşif: Ağdaki yeni cihazları otomatik olarak keşfedebilir ve izlemeye başlayabilir.
- Şablon Tabanlı Yapılandırma: Önceden tanımlanmış şablonlar sayesinde cihazları hızlı bir şekilde izlemeye alabilir, zamandan tasarruf edebilirsiniz.
Zabbix’i kullanarak, VPS sunucularınızın sağlıklı ve verimli çalıştığından emin olabilir, potansiyel sorunları kullanıcılar etkilenmeden önce belirleyip çözebilirsiniz.
Zabbix Server Kurulumu (Ubuntu Üzerine)
Bu bölümde, Zabbix Server’ı Ubuntu işletim sistemi üzerine kuracağız. Veritabanı olarak MariaDB/MySQL kullanacağız ve Apache web sunucusu ile PHP’yi yapılandıracağız.
Sistem Gereksinimleri ve Ön Hazırlıklar
Zabbix Server kurulumuna başlamadan önce sisteminizi güncelleyelim ve gerekli paketleri kuralım.
sudo apt update
sudo apt upgrade -y
sudo apt install -y software-properties-common wget
Zabbix Depolarının Eklenmesi
Zabbix’in en güncel sürümünü (bu rehber yazıldığı sırada Zabbix 6.4 LTS) kurmak için resmi Zabbix deposunu sistemimize eklememiz gerekiyor. Ubuntu sürümünüzü kontrol edin (örneğin, Ubuntu 22.04 için jammy).
# Zabbix 6.4 LTS deposunu ekleyin (Ubuntu 22.04 için - jammy)
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
Veritabanı Kurulumu ve Yapılandırması (MariaDB)
Zabbix, tüm verilerini bir veritabanında saklar. MariaDB’yi kuralım ve Zabbix için bir veritabanı ile kullanıcı oluşturalım.
sudo apt install -y mariadb-server
MariaDB’yi güvenli hale getirmek için aşağıdaki komutu çalıştırabilirsiniz. Çoğu soruya Y (Yes) yanıtı verebilirsiniz.
sudo mysql_secure_installation
Şimdi Zabbix için bir veritabanı ve kullanıcı oluşturalım. Kendi güvenli parolanızı belirlediğinizden emin olun.
sudo mysql -uroot -p
MariaDB komut isteminde aşağıdaki komutları çalıştırın:
CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'sifreniz'; # 'sifreniz' yerine kendi parolanızı yazın
GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Zabbix Server ve Agent Kurulumu
Şimdi Zabbix Server bileşenlerini, web arayüzünü ve Zabbix Agent’ı kurabiliriz.
sudo apt install -y zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-agent
Zabbix Veritabanı Şemasını İçe Aktarma
Kurulumdan sonra Zabbix veritabanı şemasını oluşturduğumuz veritabanına aktarmamız gerekiyor. Az önce belirlediğiniz veritabanı parolasını kullanacaksınız.
sudo zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -u zabbix -p zabbix
Komut sizden Zabbix veritabanı kullanıcısının parolasını isteyecektir. Doğru parolayı girin.
Zabbix Server Yapılandırması
Zabbix Server’ın veritabanı ile iletişim kurabilmesi için yapılandırma dosyasını düzenlememiz gerekiyor.
sudo nano /etc/zabbix/zabbix_server.conf
Aşağıdaki satırları bulun ve kendi veritabanı bilgilerinizle güncelleyin. Genellikle sadece DBPassword satırını uncomment (başındaki # işaretini kaldırma) edip parolanızı yazmanız yeterli olacaktır.
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=sifreniz # Kendi belirlediğiniz şifreyi yazın
Değişiklikleri kaydedip dosyayı kapatın (CTRL+O, Enter, CTRL+X).
PHP Yapılandırması
Zabbix web arayüzünün doğru çalışması için PHP ayarlarını düzenlememiz gerekiyor. Apache’nin PHP yapılandırma dosyasını açın.
sudo nano /etc/php/8.1/apache2/php.ini # PHP sürümünüz farklı olabilir (örn: 8.2)
Aşağıdaki parametreleri bulun ve değerlerini güncelleyin:
max_execution_time = 300
max_input_time = 300
memory_limit = 256M
post_max_size = 16M
upload_max_filesize = 2M
date.timezone = Europe/Istanbul # Kendi zaman diliminizi yazın, örneğin Asia/Shanghai veya America/New_York
Değişiklikleri kaydedip dosyayı kapatın.
Servisleri Başlatma ve Etkinleştirme
Şimdi Zabbix Server, Zabbix Agent ve Apache servislerini başlatabilir ve sistem başlangıcında otomatik başlamalarını sağlayabiliriz.
sudo systemctl restart zabbix-server zabbix-agent apache2
sudo systemctl enable zabbix-server zabbix-agent apache2
sudo systemctl status zabbix-server zabbix-agent apache2
Tüm servislerin active (running) durumda olduğunu kontrol edin.
Zabbix Web Arayüzü İlk Yapılandırması
Tüm arka uç kurulumları tamamlandıktan sonra, Zabbix web arayüzüne tarayıcınızdan erişerek ilk yapılandırma adımlarını tamamlamamız gerekiyor.
Tarayıcı Üzerinden Kurulum Adımları
Tarayıcınızı açın ve Zabbix Server’ınızın IP adresini veya alan adını kullanarak web arayüzüne erişin:
http://sizin_sunucu_ip_adresiniz_veya_alan_adiniz/zabbix
- Welcome (Hoş Geldiniz): Karşılama ekranında
Next stepbutonuna tıklayın. - Check of pre-requisites (Ön Koşulların Kontrolü): Tüm gereksinimlerin
OKveyaYesolarak işaretlendiğinden emin olun. Herhangi bir uyarı varsa, önceki adımları (özellikle PHP ayarlarını) kontrol edin.Next stepbutonuna tıklayın. - Configure DB connection (Veritabanı Bağlantısını Yapılandır):
Database type: MySQL (veya MariaDB için MySQL)Database host: localhostDatabase port: 3306Database name: zabbixUser: zabbixPassword: Kurulum sırasında belirlediğiniz Zabbix veritabanı parolası
Next stepbutonuna tıklayın. - Zabbix server details (Zabbix Server Detayları):
Host: localhost (veya Zabbix Server’ınızın IP adresi)Port: 10051Name: İsteğe bağlı, sunucunuzun adını girebilirsiniz.
Next stepbutonuna tıklayın. - Pre-installation summary (Ön Kurulum Özeti): Ayarlarınızı gözden geçirin ve her şeyin doğru olduğundan emin olun.
Next stepbutonuna tıklayın. - Install (Kur): Kurulum tamamlanacaktır.
Finishbutonuna tıklayarak giriş ekranına yönlendirileceksiniz.
Varsayılan giriş bilgileri:
- Username:
Admin - Password:
zabbix
Giriş yaptıktan sonra, güvenlik için bu varsayılan parolayı değiştirmeyi unutmayın (Administration -> Users -> Admin -> Change password).
VPS Sunucularını Zabbix ile İzleme (Zabbix Agent Kurulumu)
Zabbix Server’ınız artık çalışıyor. Şimdi birden fazla VPS sunucunuzu izlemek için bu sunuculara Zabbix Agent kurup yapılandırmamız gerekiyor.
Zabbix Agent Kurulumu (VPS Sunucularında)
İzlemek istediğiniz her bir VPS sunucusuna SSH ile bağlanın ve aşağıdaki adımları tekrarlayın:
sudo apt update
sudo apt upgrade -y
Zabbix 6.4 deposunu ekleyin (VPS'in Ubuntu sürümüne göre ayarlayın)
Örnek: Ubuntu 22.04 için
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'ı kurun
sudo apt install -y zabbix-agent
Zabbix Agent Yapılandırması (VPS Sunucularında)
Her VPS’teki Zabbix Agent’ın yapılandırma dosyasını düzenlemeniz gerekiyor. Bu, Agent’ın hangi Zabbix Server’a veri göndereceğini ve sunucunun Agent’a hangi IP’den bağlanacağını belirtir.
sudo nano /etc/zabbix/zabbix_agentd.conf
Aşağıdaki parametreleri bulun ve güncelleyin:
Server=Zabbix_Server_IP_Adresi # Zabbix Server'ınızın IP adresini yazın
ServerActive=Zabbix_Server_IP_Adresi # Zabbix Server'ınızın IP adresini yazın
Hostname=VPS_Sunucunuzun_Adı # Bu VPS için benzersiz bir ana bilgisayar adı belirleyin, örn: my-vps-01
Değişiklikleri kaydedip dosyayı kapatın. Ardından Zabbix Agent servisini yeniden başlatın:
sudo systemctl restart zabbix-agent
sudo systemctl enable zabbix-agent
sudo systemctl status zabbix-agent
Güvenlik Duvarı Ayarları (VPS Sunucularında)
VPS sunucularınızda bir güvenlik duvarı (örneğin UFW) çalışıyorsa, Zabbix Server’ınızın IP adresinden 10050 numaralı porta gelen bağlantılara izin vermeniz gerekir.
sudo ufw allow from Zabbix_Server_IP_Adresi to any port 10050
sudo ufw reload
Zabbix Arayüzünden Host Ekleme
Şimdi Zabbix web arayüzüne geri dönün ve izlemek istediğiniz VPS sunucularını ekleyin.
- Zabbix web arayüzüne giriş yapın.
- Sol menüden
Configuration -> Hostsyolunu takip edin. - Sağ üst köşedeki
Create hostbutonuna tıklayın. - Host sekmesi:
Host name: VPS sunucusundazabbix_agentd.confdosyasında belirlediğinizHostnameile aynı olmalı (örneğin:my-vps-01).Visible name: Zabbix arayüzünde görünmesini istediğiniz ad (örneğin:My VPS Server 01).Groups: Sunucuyu eklemek istediğiniz bir grup seçin veya yeni bir grup oluşturun (örneğin:Linux servers).Agent interfaces:Addbutonuna tıklayın.IP addressalanına VPS sunucunuzun IP adresini girin.Portvarsayılan olarak10050kalabilir.
- Templates sekmesi:
Link new templatesbölümündeSelectbutonuna tıklayın.- Arama çubuğuna “Linux” yazın ve
Linux by Zabbix agentşablonunu seçin. Addbutonuna tıklayarak şablonu bağlayın.
- Tüm bilgileri girdikten sonra
Addbutonuna tıklayarak host’u ekleyin.
Birkaç dakika içinde, yeni eklediğiniz host’un Availability sütunundaki Zabbix Agent simgesinin yeşile döndüğünü görmelisiniz. Bu, Zabbix Server’ın Agent ile başarılı bir şekilde iletişim kurduğu anlamına gelir. Artık Monitoring -> Latest data bölümünden VPS sunucunuzun verilerini izlemeye başlayabilirsiniz.
Sonuç ve Sıkça Sorulan Sorular (SSS)
Sonuç
Bu rehberde, Ubuntu işletim sistemi üzerine Zabbix Server’ı nasıl kuracağınızı, MariaDB veritabanını ve Apache web arayüzünü nasıl yapılandıracağınızı adım adım öğrendiniz. Ayrıca, birden fazla VPS sunucunuzu Zabbix Agent’lar aracılığıyla izlemek için gereken kurulum ve yapılandırma adımlarını da tamamladınız. Artık Zabbix’in güçlü izleme yeteneklerinden faydalanarak sunucularınızın performansını ve sağlığını proaktif bir şekilde yönetebilirsiniz. Zabbix’in esnek yapısı sayesinde, özel metrikler ekleyebilir, karmaşık tetikleyiciler oluşturabilir ve daha gelişmiş uyarı senaryoları tasarlayarak altyapınızın sürekli güvende ve optimize kalmasını sağlayabilirsiniz.
Sıkça Sorulan Sorular (SSS)
Zabbix Agent neden çalışmıyor veya Zabbix Server’a veri göndermiyor?
- Güvenlik Duvarı: VPS sunucusunda Zabbix Agent portunun (varsayılan 10050) Zabbix Server IP adresinden gelen bağlantılara açık olduğundan emin olun.
- Yapılandırma Dosyası:
/etc/zabbix/zabbix_agentd.confdosyasındaServer,ServerActiveveHostnameparametrelerinin doğru şekilde ayarlandığından emin olun. ÖzellikleHostname, Zabbix arayüzündeki Host Name ile birebir aynı olmalıdır. - Servis Durumu: VPS’te Zabbix Agent servisinin çalıştığından emin olun:
sudo systemctl status zabbix-agent. - Zabbix Server Ayarları: Zabbix arayüzünde host’u eklerken doğru IP adresini ve portu girdiğinizden emin olun.
- Loglar: Agent loglarını kontrol edin:
sudo tail -f /var/log/zabbix/zabbix_agentd.log.
Zabbix hangi veritabanlarını destekler?
Zabbix; MySQL, PostgreSQL, Oracle ve SQLite veritabanlarını destekler. Bu rehberde MariaDB (MySQL uyumlu) kullandık.
Zabbix ile neler izleyebilirim?
Zabbix ile CPU kullanımı, bellek, disk alanı, ağ trafiği, sistem süreçleri, servis durumu (HTTP, FTP, SSH vb.), veritabanı performansı, uygulama logları, sanal makineler, bulut kaynakları ve hatta özel betikler aracılığıyla kendi belirlediğiniz özel metrikleri izleyebilirsiniz.
Alarm bildirimlerini nasıl yapılandırırım?
Zabbix’te Administration -> Media types altında e-posta, SMS, Slack, Telegram, PagerDuty gibi farklı bildirim kanallarını (medya türleri) tanımlarsınız. Ardından Configuration -> Actions bölümünde, belirli tetikleyiciler (trigger) aktive olduğunda hangi medya türü aracılığıyla kimlere bildirim gönderileceğini ayarlarsınız.
Zabbix Server’ın performansı nasıl izlenir?
Zabbix Server, kendisini de izlemek için yerleşik bir Agent ile birlikte gelir. Zabbix arayüzünde Configuration -> Hosts bölümünde varsayılan olarak “Zabbix server” adlı bir host bulunur. Bu host’a atanmış şablonlar aracılığıyla Zabbix Server’ın kendi performansını (işlemci kullanımı, veritabanı bağlantıları, kuyruk boyutu vb.) izleyebilirsiniz.
