Buyukweb
VDS Sunucu İzleme: Zabbix, Netdata ve Prometheus + Grafana Karşılaştırması

VDS Sunucu İzleme: Zabbix, Netdata ve Prometheus + Grafana Karşılaştırması

VDS sunucunuzu Netdata, Zabbix 7.0 ve Prometheus + Grafana ile izleyin. Hangi araç ne zaman, alerting, retention ve kurulum rehberi.

Büyükweb Editör EkibiHosting, Sunucu ve Sistem Yönetimi Editörü11 dakika okuma

VDS Sunucu İzleme: Zabbix, Netdata ve Prometheus + Grafana Karşılaştırması (2026)

Gece 03:00'te sunucunuzun diski dolup web uygulamanız çöktü. Sabah 09:00'da müşteri şikayetiyle öğrendiniz — altı saatlik kesinti. Önceden disk uyarısı alabilir miydiniz? Evet, eğer doğru monitoring stack kurmuş olsaydınız.

Bu rehberde Buyukweb VDS müşterileri için üç temel izleme aracını karşılaştırıyoruz: Netdata, Zabbix 7.0 LTS ve Prometheus 2.x + Grafana 10.x. Hangisi ne zaman tercih edilmeli, hangisi gereksiz karmaşıklık getirir — dürüstçe anlatıyoruz.

Buyukweb perspektifi: VDS'lerimiz unmanaged. Buyukweb tarafında hypervisor seviyesi monitoring çalışır — CPU/RAM/disk anomali, donanım arıza, ağ kesintisi gibi altyapı olaylarını 7/24 izliyoruz. Ama uygulama-içi metrikler (HTTP istek sayısı, DB query süresi, PHP-FPM queue derinliği, container CPU limiti) tamamen müşteride. Disk dolmadan uyarı almak, PHP hata oranını görmek, MySQL slow-query'yi tespit etmek — bunlar için kendi monitoring stack'inizi kurmanız gerekiyor.


Neden Monitoring Şart?

Sunucu gözlemlenebilirliği üç soruyu yanıtlar:

  1. Şu an ne durumda? — CPU %97'de mi, bellek dolmak üzere mi, disk I/O doymuş mu?
  2. Ne zaman başladı? — Yavaşlama saat 14:00'de mi başladı, deploy ile mi çakıştı?
  3. Uyarı ne zaman gelir? — Disk %85'e ulaştığında mail/Slack/Telegram gönder.

VDS sunucular için en kritik metrikler:

Metrik Eşik (Dikkat) Eşik (Kritik)
CPU kullanımı %70 sürekli %90+ anlık
RAM kullanımı %80 %95+
Disk doluluk %80 %90+
Disk I/O await >50 ms >200 ms
Load average >çekirdek sayısı >2× çekirdek
Swap kullanımı >%20 >%50
Ağ hata oranı >0.1% >1%

3 Araç Karar Matrisi

Özellik Netdata (Open Source) Zabbix 7.0 LTS Prometheus 2.x + Grafana 10.x
Kurulum süresi ~5 dakika 30–60 dakika 20–30 dakika
Ek RAM ihtiyacı ~150–250 MB ~512 MB – 1 GB ~500 MB – 1.5 GB
Multi-server merkezi Ücretli Cloud / kendi Netdata Parent ✅ Ücretsiz, dahili ✅ (Prometheus federasyonu)
Yerleşik alerting ✅ Email/Slack/PagerDuty ✅ Gelişmiş, koşullu Alertmanager (ayrı kurulum)
Hazır dashboard ✅ Otomatik, görsel Şablon tabanlı Grafana'dan import
PromQL sorgu
Kurumsal SLA raporu Sınırlı ✅ Kapsamlı Grafana ile mümkün
Kubernetes / dinamik Sınırlı Eklenti gerekir ✅ Güçlü (cAdvisor)
Tek sunucu için öneri En iyi seçim ⚠️ Aşırı karmaşık Orta — PromQL öğrenmek gerekir

Kimin için ne?

  • 1–3 VDS, sade web uygulamasıNetdata — 5 dakikada kurulur, anında canlı görsel veri.
  • 5+ sunucu filo, kurumsal alarm ve SLA raporuZabbix — multi-agent mimarisi, hazır şablonlar, olgunlaşmış ITSM entegrasyonu.
  • Kubernetes ortamı, dinamik infra, özel metrik scrapePrometheus + Grafana — PromQL esnekliği, Grafana ekosistemi.

Tercih etmeyin: Tek VDS için Zabbix kurmak. Zabbix bir filo yönetim aracıdır: MariaDB, PHP, Apache/Nginx, Zabbix server, Zabbix agent kurmanız gerekir; bakım yükü, yama yükü ve öğrenme eğrisi tek sunucu için karşılığını vermez. Netdata 1 dakikada gerçek zamanlı veri gösterirken Zabbix kurulumu saatlerce sürebilir.


Netdata: 5 Dakikada Gerçek Zamanlı İzleme

Kurulum (AlmaLinux 9 / Ubuntu 22.04 / Debian 12)

# Tek satır kurulum — kararlı sürüm
curl https://get.netdata.cloud/kickstart.sh > /tmp/netdata-kickstart.sh
sh /tmp/netdata-kickstart.sh --stable-channel --dont-start-it

# Servisi başlat ve etkinleştir
systemctl enable --now netdata

# Durum kontrolü
systemctl status netdata

Kurulum bitti. Tarayıcınızdan http://SUNUCU_IP:19999 adresine gidin — CPU, RAM, disk, ağ, process, MySQL, Nginx, PHP-FPM dahil onlarca plugin otomatik algılanır ve anında grafik çizer.

Port Güvenliği

19999 portunu dünyaya açmayın:

# firewalld (AlmaLinux 9 / RHEL 9)
firewall-cmd --permanent --zone=public --remove-port=19999/tcp
firewall-cmd --reload

# ufw (Ubuntu/Debian)
ufw deny 19999

# Nginx reverse proxy + Let's Encrypt ile güvenli erişim
# /etc/nginx/sites-available/netdata.conf
server {
    listen 443 ssl;
    server_name monitor.siteniz.com;
    ssl_certificate /etc/letsencrypt/live/monitor.siteniz.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/monitor.siteniz.com/privkey.pem;
    auth_basic "Monitoring";
    auth_basic_user_file /etc/nginx/.htpasswd;
    location / {
        proxy_pass http://127.0.0.1:19999;
        proxy_set_header Host $host;
    }
}

Netdata Alerting — Email ve Telegram

nano /etc/netdata/health_alarm_notify.conf

Email için:

SEND_EMAIL="YES"
DEFAULT_RECIPIENT_EMAIL="[email protected]"

Telegram için:

SEND_TELEGRAM="YES"
TELEGRAM_BOT_TOKEN="123456:BOT_TOKEN"
DEFAULT_RECIPIENT_TELEGRAM="CHAT_ID"

Alarm eşikleri için hazır kurallar /usr/lib/netdata/conf.d/health.d/ altında; özelleştirmek için /etc/netdata/health.d/ altına kopyalayın.

Veri Saklama (Retention)

Netdata varsayılan olarak son ~1–2 saatlik veriyi hafızada tutar. Uzun dönem için:

# /etc/netdata/netdata.conf
[db]
    # 30 günlük saklama — yaklaşık 1–2 GB disk
    retention = 2592000
    mode = dbengine
    dbengine multihost disk space MB = 1024

Zabbix 7.0 LTS: Çok Sunuculu Filo İzleme

Tek sunucu için kurmayı düşünmeyin. Aşağıdaki rehber 5+ sunucu filonuz varsa geçerlidir.

Mimari

[Zabbix Server] ← [Zabbix Agent2] ← İzlenen Sunucu 1
                ← [Zabbix Agent2] ← İzlenen Sunucu 2
                ← [Zabbix Agent2] ← İzlenen Sunucu N
[MariaDB]  ← Zabbix Server
[Nginx + PHP] ← Zabbix Web Arayüzü

Zabbix Server Kurulumu (Ubuntu 22.04)

# Zabbix 7.0 LTS deposu
wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest_7.0+ubuntu22.04_all.deb
dpkg -i zabbix-release_latest_7.0+ubuntu22.04_all.deb
apt update

# Server + frontend + agent
apt install -y zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-sql-scripts zabbix-agent2

# MariaDB
apt install -y mariadb-server
systemctl enable --now mariadb
# Veritabanı oluştur
mysql -u root -p <<EOF
CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'GucluSifre123!';
GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost';
FLUSH PRIVILEGES;
EOF

# Şemayı yükle
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -u zabbix -p zabbix
# /etc/zabbix/zabbix_server.conf — temel ayarlar
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=GucluSifre123!
CacheSize=256M
HistoryCacheSize=128M
systemctl enable --now zabbix-server zabbix-agent2 nginx php8.1-fpm

Web arayüzü: http://SUNUCU_IP/zabbix — varsayılan giriş: Admin / zabbix.

İzlenen Sunuculara Agent2 Kurulumu

# Her izlenecek sunucuda (AlmaLinux 9 örneği)
rpm -Uvh https://repo.zabbix.com/zabbix/7.0/rhel/9/x86_64/zabbix-release-latest.el9.noarch.rpm
dnf install -y zabbix-agent2

# /etc/zabbix/zabbix_agent2.conf
Server=ZABBIX_SERVER_IP
ServerActive=ZABBIX_SERVER_IP
Hostname=web-server-01

systemctl enable --now zabbix-agent2

Hazır Şablonlar

Zabbix'in değeri burada: Configuration → Templates altında yüzlerce hazır şablon var.

Şablon Kapsadığı
Linux by Zabbix agent CPU, RAM, disk, ağ, process
MySQL by Zabbix agent Sorgu/sn, bağlantı sayısı, replikasyon
Nginx by HTTP İstek/sn, hata oranı, 5xx
Docker by Zabbix agent Container CPU/RAM, restart sayısı
TLS/SSL certificate check Sertifika son kullanma tarihi uyarısı

Prometheus + Grafana: Esnek Metrik Pipeline

Mimari

[node_exporter :9100]  ← Sunucu metrikleri
[cAdvisor :8080]       ← Docker container metrikleri
[blackbox_exporter]    ← HTTP/TCP/ICMP probe

     ↓ scrape (pull)

[Prometheus :9090]  →  veri depola (TSDB)

     ↓ query (PromQL)

[Grafana :3000]     →  dashboard görselleştir
[Alertmanager :9093] → email / Slack / Telegram uyarı

node_exporter Kurulumu (İzlenecek Sunucu)

# node_exporter 1.8.x — sistemik metrik toplayıcı
useradd --no-create-home --shell /bin/false node_exporter
wget https://github.com/prometheus/node_exporter/releases/latest/download/node_exporter-1.8.2.linux-amd64.tar.gz
tar xzf node_exporter-1.8.2.linux-amd64.tar.gz
cp node_exporter-1.8.2.linux-amd64/node_exporter /usr/local/bin/
chown node_exporter:node_exporter /usr/local/bin/node_exporter

# systemd servis
cat > /etc/systemd/system/node_exporter.service <<EOF
[Unit]
Description=Prometheus Node Exporter
After=network.target

[Service]
User=node_exporter
ExecStart=/usr/local/bin/node_exporter
Restart=on-failure

[Install]
WantedBy=multi-user.target
EOF

systemctl enable --now node_exporter

Prometheus Kurulumu

useradd --no-create-home --shell /bin/false prometheus
mkdir /etc/prometheus /var/lib/prometheus
wget https://github.com/prometheus/prometheus/releases/latest/download/prometheus-2.52.0.linux-amd64.tar.gz
tar xzf prometheus-2.52.0.linux-amd64.tar.gz
cp prometheus-2.52.0.linux-amd64/{prometheus,promtool} /usr/local/bin/
cp -r prometheus-2.52.0.linux-amd64/{consoles,console_libraries} /etc/prometheus/
chown -R prometheus:prometheus /etc/prometheus /var/lib/prometheus

prometheus.yml

global:
  scrape_interval: 15s
  evaluation_interval: 15s

alerting:
  alertmanagers:
    - static_configs:
        - targets: ["localhost:9093"]

rule_files:
  - "/etc/prometheus/rules/*.yml"

scrape_configs:
  - job_name: "prometheus"
    static_configs:
      - targets: ["localhost:9090"]

  - job_name: "node_exporters"
    static_configs:
      - targets:
          - "sunucu-1-IP:9100"
          - "sunucu-2-IP:9100"
        labels:
          env: "production"

  - job_name: "blackbox_http"
    metrics_path: /probe
    params:
      module: [http_2xx]
    static_configs:
      - targets:
          - https://siteniz.com
          - https://api.siteniz.com
    relabel_configs:
      - source_labels: [__address__]
        target_label: __param_target
      - source_labels: [__param_target]
        target_label: instance
      - target_label: __address__
        replacement: localhost:9115

Grafana Kurulumu

# Grafana 10.x (Ubuntu/Debian)
apt install -y software-properties-common
wget -q -O - https://packages.grafana.com/gpg.key | apt-key add -
echo "deb https://packages.grafana.com/oss/deb stable main" > /etc/apt/sources.list.d/grafana.list
apt update && apt install -y grafana

systemctl enable --now grafana-server
# Arayüz: http://SUNUCU_IP:3000 (varsayılan: admin/admin)

Prometheus data source ekleyin: Configuration → Data Sources → Prometheus → URL: http://localhost:9090. Ardından Grafana.com'dan "Node Exporter Full" (dashboard ID: 1860) import edin — tüm sunucu metrikleri hazır görünür.


Alerting: Alertmanager + Slack / Telegram

Alertmanager Konfigürasyonu

# /etc/alertmanager/alertmanager.yml
global:
  resolve_timeout: 5m
  smtp_smarthost: "smtp.siteniz.com:587"
  smtp_from: "[email protected]"
  smtp_auth_username: "[email protected]"
  smtp_auth_password: "SMTP_SIFRE"

route:
  group_by: ["alertname", "instance"]
  group_wait: 30s
  group_interval: 5m
  repeat_interval: 4h
  receiver: "team-slack"
  routes:
    - match:
        severity: critical
      receiver: "team-telegram"

receivers:
  - name: "team-slack"
    slack_configs:
      - api_url: "https://hooks.slack.com/services/XXX/YYY/ZZZ"
        channel: "#alerts"
        title: "{{ .GroupLabels.alertname }}"
        text: "{{ range .Alerts }}{{ .Annotations.description }}{{ end }}"

  - name: "team-telegram"
    telegram_configs:
      - api_url: "https://api.telegram.org"
        bot_token: "BOT_TOKEN"
        chat_id: CHAT_ID
        message: "🔴 {{ .GroupLabels.alertname }}: {{ range .Alerts }}{{ .Annotations.summary }}{{ end }}"

Prometheus Alert Kuralları

# /etc/prometheus/rules/node_alerts.yml
groups:
  - name: node_alerts
    rules:
      - alert: DiskDoluyYaklasıyor
        expr: (node_filesystem_size_bytes{fstype!="tmpfs"} - node_filesystem_free_bytes{fstype!="tmpfs"}) / node_filesystem_size_bytes{fstype!="tmpfs"} > 0.85
        for: 5m
        labels:
          severity: warning
        annotations:
          summary: "Disk %85 dolu: {{ $labels.instance }}"
          description: "{{ $labels.device }} aygıtı %{{ $value | humanizePercentage }} dolu."

      - alert: YuksekCPUKullanimi
        expr: 100 - (avg by(instance) (irate(node_cpu_seconds_total{mode="idle"}[5m])) * 100) > 90
        for: 10m
        labels:
          severity: critical
        annotations:
          summary: "CPU %90+ — {{ $labels.instance }}"

      - alert: BelekKritiSeviye
        expr: (node_memory_MemTotal_bytes - node_memory_MemAvailable_bytes) / node_memory_MemTotal_bytes > 0.95
        for: 3m
        labels:
          severity: critical
        annotations:
          summary: "RAM %95 dolu — {{ $labels.instance }}"

Örnek PromQL Sorguları

# Son 1 saatin ortalama CPU kullanımı
100 - (avg by(instance)(irate(node_cpu_seconds_total{mode="idle"}[1h])) * 100)

# Disk doluluk yüzdesi — her mount point
(1 - node_filesystem_free_bytes / node_filesystem_size_bytes) * 100

# Ağ gelen/giden bant genişliği (byte/sn)
irate(node_network_receive_bytes_total[5m])
irate(node_network_transmit_bytes_total[5m])

# HTTP probe başarı oranı (blackbox_exporter)
probe_success{job="blackbox_http"}

Retention ve Depolama Planlaması

Uzun dönem veri saklama için hesap yapın:

Araç Varsayılan Retention 1 Sunucu / 30 Gün Disk 10 Sunucu / 90 Gün Disk
Netdata (dbengine) ~1–2 saat RAM + yapılandırılabilir disk ~1–2 GB ~15–20 GB
Zabbix (MariaDB) Yapılandırılabilir (varsayılan 90 gün) ~3–5 GB ~30–50 GB
Prometheus (TSDB) 15 gün (varsayılan) ~2–4 GB ~20–40 GB
# Prometheus retention ayarı (systemd ExecStart'a ekle)
--storage.tsdb.retention.time=30d
--storage.tsdb.retention.size=10GB

# Zabbix DB temizleme (otomatik — Administration > General > Housekeeping)
# History: 90 gün, Trends: 365 gün öneri

Büyükweb VDS ₺250/ay'dan başlar. Prometheus + Grafana stack'i için 1–2 GB ek RAM hesaplayın. 2 GB RAM VDS'de monitoring stack'i uygulama ile rekabet eder — bu senaryoda Netdata (150–250 MB RAM) daha verimli.


Sık Sorulan Sorular

Netdata mi Zabbix mi seçmeliyim?

Tek sunucu veya 2–3 VDS için Netdata. Kurulumu 5 dakika, dashboard otomatik. 5+ sunucu filonuz varsa, merkezi alarm + SLA raporu istiyorsanız Zabbix değer kazanır. "Her şeyi bilmek istiyorum ama nasıl kurarım bilmiyorum" diyorsanız Netdata ile başlayın, büyüdükçe geçiş yaparsınız.

Prometheus'u Zabbix yerine kullanabilir miyim?

Evet — ama PromQL öğrenmek gerekiyor. Kubernetes veya Docker swarm ortamınız varsa, özel metrikler (uygulama /metrics endpoint'i) scrape etmek istiyorsanız Prometheus + Grafana daha esnek. Statik sunucu filonuzu izlemek için Zabbix genellikle daha az konfigürasyon gerektirir.

Alerting kanalı olarak ne öneririz?

Küçük ekipler için Telegram (bot kurulumu kolay, ücretsiz). Slack kullanan ekipler için webhook entegrasyonu birkaç satır YAML. Kritik alarmlar için çoklu kanal (Telegram + email) kurun; email'i yedek olarak bırakın. Alertmanager route mantığıyla severity=critical → Telegram, warning → email gibi ayırım yapabilirsiniz.

Buyukweb VDS'nin kendi monitoring'i var mı?

Evet — hypervisor seviyesinde CPU/RAM/disk anomali ve donanım arızalarını izliyoruz. Ama bu altyapı izlemesi; uygulamanızın içinden gelen metrikleri (HTTP 500 oranı, DB sorgu gecikmesi, kuyruk derinliği) göremez. Uygulama seviyesi monitoring'i kendiniz kurmalısınız.

Monitoring stack için kaç GB RAM yeterli?

Netdata: 150–250 MB. Prometheus + Grafana: 500 MB – 1.5 GB (scrape hedef sayısına ve retention'a göre). Zabbix: 512 MB – 1 GB (agent sayısına ve cache boyutuna göre). 2 GB RAM VDS'de monitoring + uygulama bir arada sıkışır — bu durumda ayrı monitoring VDS'i veya hafif Netdata tercih edin.

Disk doluluk alarmı için en hızlı yol nedir?

Netdata otomatik olarak disk %85'e ulaştığında uyarı üretir — ek yapılandırma gerekmez. Kurulum bitince /etc/netdata/health_alarm_notify.conf dosyasına email veya Telegram bilgilerinizi girin, hazır.

Çoklu VDS'i tek dashboard'dan izleyebilir miyim?

Evet, üç araçla da mümkün. Netdata'da merkezi izleme Netdata Cloud üzerinden (ücretsiz tier sınırlı) veya self-hosted Netdata Parent kurulumla yapılır. Zabbix zaten multi-server için tasarlandı. Prometheus'ta birden fazla sunucuya node_exporter kurulsun, tümünü tek prometheus.yml'e ekleyin — Grafana tek panodan gösterir.


İlgili Büyükweb Hizmetleri

Monitoring stack kurmak için güçlü, Bursa Tier 3 veri merkezinde KVM tabanlı VDS:

Teknik sorularınız için 0850 302 60 70 numaralı destek hattımıza veya iletişim sayfamıza yazabilirsiniz.

VDS & VPS Rehberi İlgili Hizmetlerimiz

Bu yazıda anlatılan teknik konuyu profesyonel altyapıyla deneyimleyin

Etiketler:

#VDS#Monitoring#Zabbix#Netdata#Sunucu İzleme#DevOps

Bu yazıyı paylaş