Linux Üzerinde Netdata ile Gerçek Zamanlı Sunucu İzleme
Linux Üzerinde Netdata ile Gerçek Zamanlı Sunucu İzleme
Netdata, sistem kaynaklarını (CPU, RAM, disk, I/O, süreçler, ağ, TCP/UDP, web sunucuları ve veritabanları) saniye-altı çözünürlükte ölçen, ultra hafif ve etkileşimli grafiklerle sunan modern bir izleme platformudur. Özellikle yüksek trafik altında çalışan uygulamalarda, gecikme ve darboğazları anında görselleştirerek sorunları “anında teşhis” etmeyi kolaylaştırır. Bu rehber, Linux üzerinde Netdata’nın hızlı kurulumunu, güvenliğini, uyarı (alarm) yapılandırmasını ve pratik optimizasyon ipuçlarını adım adım açıklar. Ölçeklenebilir bir mimari için VDS veya kurumsal ölçekli Sunucu Barındırma seçenekleriyle Netdata mükemmel bir ikili oluşturur.
- Netdata’yı Neden Tercih Etmelisiniz?
- Ön Koşullar ve Mimari Notlar
- Kurulum: Tek Komutta Hızlı Başlangıç
- Debian/Ubuntu
- RHEL / AlmaLinux / Rocky Linux
- Güvenlik: Erişim Kontrolü ve Ters Vekil (Reverse Proxy)
- Netdata Erişim Kısıtlama (web.conf)
- Nginx Reverse Proxy (Örnek)
- Netdata Cloud ile Çoklu Sunucu İzleme
- Eklentiler ve Servis Entegrasyonları
- Örnek: Nginx Metrikleri
- Alarm (Health) Sistemi: Bildirimler ve Eşikler
- E-posta Bildirimi (Postfix örneği)
- Eşik Ayarı
- Performans ve Depolama Ayarları
- Güncelleme, Bakım ve Sorun Giderme
- Netdata ile Kapasite Planlama
- İyi Uygulamalar: Güvenlik + Performans + Sadelik
- Sonuç: Anında Görünürlük, Hızlı Aksiyon
Netdata’yı Neden Tercih Etmelisiniz?
- Gerçek zamanlı: Milisaniye seviyesinde güncellenen grafikler ve anlık metrik akışı.
- Hafif: Tek bir servis, minimal CPU/RAM tüketimi ile yüzlerce metriği toplar.
- Kolay kurulum: Tek komutla kurulum ve otomatik keşif.
- Uyarı sistemi: Yüzlerce hazır alarm; e-posta, Slack, Discord vb. bildirimlerle aksiyon.
- Esnek mimari: Yerel dashboard veya Netdata Cloud ile çoklu sunucuları tek ekranda izleme.
Ön Koşullar ve Mimari Notlar
Netdata, Debian/Ubuntu, RHEL/AlmaLinux/Rocky, SUSE ve birçok dağıtımda çalışır. Minimal bir Linux kurulumunda dahi sorunsuz kullanılabilir. Uygulamanız Linux Hosting üzerinde paylaşımlı ise, sistem seviyesinde Netdata kurulumu yerine uygulama içi izleme araçları daha uygun olabilir; ancak kendi sunucunuza (ör. Premium VDS) tam yetkiniz varsa Netdata en ideal çözümlerden biridir.
Kurulum: Tek Komutta Hızlı Başlangıç
Debian/Ubuntu
# Kök veya sudo yetkisiyle: bash <(curl -Ss https://my-netdata.io/kickstart.sh) # veya depoyla: apt update apt install -y netdata systemctl enable --now netdata
RHEL / AlmaLinux / Rocky Linux
# EPEL önerilir dnf install -y epel-release dnf install -y netdata systemctl enable --now netdata
Kurulum tamamlanınca, varsayılan olarak Netdata yerel arayüzü http://SUNUCU_IP:19999 adresinde çalışır. Dış erişime açacaksanız güvenlik önlemlerini uygulamayı unutmayın.
Güvenlik: Erişim Kontrolü ve Ters Vekil (Reverse Proxy)
Üretim ortamında Netdata arayüzünü internetten doğrudan yayınlamak yerine, IP kısıtlaması ve ters vekil arkasında sunmak daha güvenlidir. Uygulama katmanı güvenliği için WAF Koruma kullanımı önerilir.
Netdata Erişim Kısıtlama (web.conf)
# /etc/netdata/netdata.conf veya /etc/netdata/web.conf içinde [web] # Sadece yerel ağdan erişim (örnek CIDR) bind to = 127.0.0.1:19999
Nginx Reverse Proxy (Örnek)
server {
listen 80;
server_name monitor.ornek.com;
location / {
proxy_pass http://127.0.0.1:19999/;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
HTTPS için Let’s Encrypt kullanın. Ters vekil üzerinde temel kimlik doğrulaması veya IP allowlist uygulamak iyi bir pratiktir. Ağ perimetresi tarafında bir web uygulama güvenlik duvarı gerekiyorsa WAF Koruma katmanıyla güçlendirin.
Netdata Cloud ile Çoklu Sunucu İzleme
Netdata Cloud; onlarca/yüzlerce nodu tek panelde görmenizi sağlar. Yerel Netdata ajanları çalışır, metrikler güvenli tünelle buluta görünür kılınır (ham veriler zorunlu olarak bulutta depolanmaz).
- Netdata Cloud hesabı açın ve “Claim” komutunu kopyalayın.
- Her sunucuda claim komutunu çalıştırın.
- Grupta (war room) nodeları düzenleyin, panoları özelleştirin.
Yatay büyüyen projelerde, veriyi bölgelere yakın konumlandırmak için VDS nodlarını farklı lokasyonlarda konumlandırabilir ya da Kirala Senin Olsun modelleriyle dedike kaynaklar kullanabilirsiniz.
Eklentiler ve Servis Entegrasyonları
Netdata; Nginx/Apache, MySQL/MariaDB, PostgreSQL, Redis, Memcached, PHP-FPM, Docker/Kubernetes gibi birçok servis için hazır kolektörlerle gelir. /etc/netdata/go.d/ ve /etc/netdata/python.d/ dizinlerinde servis başına YAML dosyaları bulunur.
Örnek: Nginx Metrikleri
# /etc/netdata/go.d/nginx.conf
jobs:
- name: local
url: http://127.0.0.1/stub_status
timeout: 1s
Nginx’te stub_status etkin olmalı. Değişiklikten sonra systemctl restart netdata.
Alarm (Health) Sistemi: Bildirimler ve Eşikler
Netdata, yüzlerce hazır uyarı kuralıyla gelir. E-posta, Slack, Discord, Opsgenie gibi kanallara bildirim gönderebilirsiniz.
E-posta Bildirimi (Postfix örneği)
# Alarm bildirimi aktif /usr/libexec/netdata/plugins.d/alarm-notify.sh test # Konfig: /etc/netdata/health_alarm_notify.conf DEFAULT_RECIPIENT_EMAIL="ops@example.com"
Eşik Ayarı
# /usr/lib/netdata/conf.d/health.d/cpu.conf (override için /etc/netdata/health.d/) alarm: cpu_usage on: system.cpu lookup: average -1m percent warn: $this > 85 crit: $this > 95 to: sysadmin
Uyarı kalabalığını azaltmak için “warn” ve “crit” eşiklerini iş yükünüze göre ayarlayın; geceleri batch süreci varsa CPU/IO üzerindeki kuralları pencere bazlı esnetin.
Performans ve Depolama Ayarları
Varsayılan veritabanı “dbengine” RAM + disk hibrit yapısıyla çalışır. Yoğun sistemlerde disk I/O’yu azaltmak için boyut ve tutma süresini planlayın.
# /etc/netdata/netdata.conf [global] dbengine disk space MB = 1024 page cache size MB = 256
Birden çok yoğun uygulama barındırıyorsanız, servis izolasyonu ve performans için Kurumsal Hosting veya reseller yapınız için Reseller Hosting seçenekleri değerlendirilebilir.
Güncelleme, Bakım ve Sorun Giderme
- Güncelleme: Kickstart ile kurduysanız otomatik güncelleme açıktır; depo kurulumunda dağıtım paketleriyle güncellersiniz.
- Servis durumu:
systemctl status netdata, log içinjournalctl -u netdata -f. - Port çakışması: 19999 kullanımda ise
netdata.conf’ta portu değiştirin veya ters vekil kullanın. - Aşırı uyarı: Health kurallarında eşikleri iş yüküne göre düzenleyin; false positive’leri susturun.
Netdata ile Kapasite Planlama
Grafikler yalnızca “anlık” değil, trendleri de gösterir. CPU steal, IO await, TCP retransmit gibi metrikler kapasite darboğazlarını erkenden haber verir. Bu veriler, kaynakları yükseltmek veya iş yükünü bölmek için karar destek sağlar. Talep arttığında, daha yüksek IOPS/CPU için Premium VDS planlarına geçiş ya da dedike Sunucu Barındırma seçenekleri mantıklıdır.
İyi Uygulamalar: Güvenlik + Performans + Sadelik
- Erişimi sınırla: Yalnızca yönetim ağından erişim verin; mümkünse VPN üzerinden kullanın.
- Ters vekil + HTTPS: Nginx/Apache ile TLS; gerekiyorsa temel auth.
- Alarm hijyeni: Az ama anlamlı alarm. Escalation politikası belirleyin.
- Entegre izleme: Netdata Cloud ile birleştirip tek panel yönetin.
- Periyodik inceleme: Aylık inceleme ve ayar iyileştirmeleri için Optimizasyon Hizmeti değerlendirin.
Sonuç: Anında Görünürlük, Hızlı Aksiyon
Netdata, Linux sunucularda gecikme ve performans sorunlarını yakalamak için “tak-kullan” yaklaşımıyla öne çıkar. Tek komutla kurulur, saniyeler içinde yüzlerce metriği canlı grafiğe döker, anlamlı alarmlarla aksiyona çağırır. Uygulamalarınızı ölçeklendirirken HostLigo altyapısının VDS ve Kurumsal Hosting çözümleri ile birleşimi, hem performans hem güvenlik açısından en verimli sonuçları sunar.
makefile
Kodu kopyala