Monitoring Nedir?
Monitoring (İzleme), sistem ve uygulama performansını, sağlığını ve davranışını gerçek zamanlı olarak izleme sürecidir. Bu süreç, sistemlerin ve uygulamaların durumunu sürekli olarak takip ederek, potansiyel sorunları önceden tespit etmeyi ve hızlı bir şekilde müdahale etmeyi sağlar.
Monitoring, DevOps ve SRE (Site Reliability Engineering) pratiklerinin temel bir bileşenidir. Sistem ve uygulama performansını izleyerek, sorunları proaktif bir şekilde tespit etmek ve çözmek, kesinti sürelerini azaltmak ve kullanıcı deneyimini iyileştirmek için kritik öneme sahiptir.
Logging Nedir?
Logging (Günlük Kaydı), sistem ve uygulama olaylarının, hataların ve diğer önemli bilgilerin kaydedilmesi sürecidir. Bu süreç, sistemlerin ve uygulamaların davranışını anlamak, sorunları teşhis etmek ve güvenlik olaylarını izlemek için önemli bir araçtır.
Logging, geçmiş olayları ve hataları analiz etmek, sorunların kök nedenlerini belirlemek ve sistemlerin ve uygulamaların davranışını anlamak için değerli bilgiler sağlar. Ayrıca, güvenlik olaylarını tespit etmek, uyumluluk gereksinimlerini karşılamak ve denetim izleri oluşturmak için de kullanılır.
Monitoring Türleri
Altyapı Monitoring
Altyapı monitoring, sunucular, ağlar, depolama sistemleri ve diğer altyapı bileşenlerinin performansını ve sağlığını izler.
İzlenen Metrikler:
- CPU kullanımı
- Bellek kullanımı
- Disk kullanımı ve I/O
- Ağ trafiği ve gecikme süresi
- Sistem yükü
Uygulama Monitoring
Uygulama monitoring, uygulamaların performansını, kullanılabilirliğini ve davranışını izler.
İzlenen Metrikler:
- Yanıt süresi
- İstek sayısı
- Hata oranı
- İşlem süresi
- Aktif kullanıcı sayısı
Ağ Monitoring
Ağ monitoring, ağ cihazlarının, bağlantılarının ve trafiğinin performansını ve sağlığını izler.
İzlenen Metrikler:
- Bant genişliği kullanımı
- Paket kaybı
- Gecikme süresi (Latency)
- Jitter
- Bağlantı durumu
Logging Türleri
Uygulama Logging
Uygulama logging, uygulamaların ürettiği günlük kayıtlarını kapsar. Bu kayıtlar, uygulamaların davranışını anlamak, hataları teşhis etmek ve performans sorunlarını belirlemek için kullanılır.
Kayıt Türleri:
- Bilgi (Info)
- Uyarı (Warning)
- Hata (Error)
- Kritik (Critical)
- Debug
Sistem Logging
Sistem logging, işletim sistemi ve sistem hizmetlerinin ürettiği günlük kayıtlarını kapsar. Bu kayıtlar, sistem davranışını anlamak, güvenlik olaylarını tespit etmek ve sistem sorunlarını teşhis etmek için kullanılır.
Kayıt Türleri:
- Sistem olayları
- Güvenlik olayları
- Donanım olayları
- Hizmet olayları
- Kullanıcı etkinlikleri
Ağ Logging
Ağ logging, ağ cihazlarının ve trafiğinin ürettiği günlük kayıtlarını kapsar. Bu kayıtlar, ağ davranışını anlamak, güvenlik olaylarını tespit etmek ve ağ sorunlarını teşhis etmek için kullanılır.
Kayıt Türleri:
- Bağlantı kayıtları
- Trafik kayıtları
- Güvenlik duvarı kayıtları
- VPN kayıtları
- DHCP kayıtları
Popüler Monitoring Araçları

Prometheus
Açık kaynaklı bir monitoring ve alerting sistemi. Zaman serisi veritabanı ve güçlü sorgu dili (PromQL) ile bilinir.
Özellikler:
- Çoklu boyutlu veri modeli
- Güçlü sorgu dili
- Pull tabanlı mimari
- Alerting ve alertmanager
Grafana
Açık kaynaklı bir metrik analizi ve görselleştirme platformu. Çeşitli veri kaynaklarını destekler ve güzel gösterge panelleri oluşturur.
Özellikler:
- Çoklu veri kaynağı desteği
- Özelleştirilebilir gösterge panelleri
- Alerting
- Annotasyonlar
Datadog
Bulut tabanlı bir monitoring ve analiz platformu. Altyapı, uygulama ve log monitoring'i tek bir platformda birleştirir.
Özellikler:
- Kapsamlı entegrasyonlar
- APM (Application Performance Monitoring)
- Log management
- Synthetic monitoring
Popüler Logging Araçları

ELK Stack
Elasticsearch, Logstash ve Kibana'dan oluşan açık kaynaklı bir log yönetim ve analiz platformu.
Bileşenler:
- Elasticsearch: Log depolama ve arama
- Logstash: Log toplama ve işleme
- Kibana: Log görselleştirme
- Beats: Log toplama ajanları
Graylog
Açık kaynaklı bir log yönetim platformu. Büyük ölçekli log toplama, depolama ve analiz için tasarlanmıştır.
Özellikler:
- Merkezi log yönetimi
- Güçlü arama yetenekleri
- Alerting
- Gösterge panelleri
Splunk
Ticari bir log yönetim ve analiz platformu. Büyük ölçekli veri toplama, depolama ve analiz için tasarlanmıştır.
Özellikler:
- Gerçek zamanlı arama ve analiz
- Makine öğrenimi
- Güvenlik analizi
- İş zekası
Monitoring ve Logging Best Practices
Anlamlı Metrikler ve Loglar
İzlenen metrikler ve kaydedilen loglar, sistem ve uygulama davranışını anlamak ve sorunları teşhis etmek için anlamlı olmalıdır. Gereksiz veya aşırı detaylı metrikler ve loglar, gürültü oluşturabilir ve önemli bilgilerin gözden kaçmasına neden olabilir.
Alerting ve Eşik Değerleri
Alerting, önemli olaylar ve sorunlar hakkında bildirim almak için kullanılır. Eşik değerleri, gerçek sorunları yansıtacak şekilde ayarlanmalıdır. Çok düşük eşik değerleri, çok sayıda yanlış pozitif uyarıya neden olabilir; çok yüksek eşik değerleri ise, önemli sorunların gözden kaçmasına neden olabilir.
Merkezi Log Yönetimi
Loglar, merkezi bir konumda toplanmalı ve yönetilmelidir. Bu, farklı sistemlerden ve uygulamalardan gelen logları birleştirerek, daha kapsamlı bir görünüm sağlar ve sorunları daha kolay teşhis etmeyi mümkün kılar.
Log Rotasyonu ve Saklama
Loglar, belirli bir süre sonra döndürülmeli ve arşivlenmelidir. Bu, disk alanı kullanımını kontrol altında tutar ve performans sorunlarını önler. Ayrıca, uyumluluk gereksinimleri için belirli logların daha uzun süre saklanması gerekebilir.
Prometheus Yapılandırma Örneği
# prometheus.yml
global:
scrape_interval: 15s
evaluation_interval: 15s
alerting:
alertmanagers:
- static_configs:
- targets:
- alertmanager:9093
rule_files:
- "alert_rules.yml"
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['localhost:9090']
- job_name: 'node_exporter'
static_configs:
- targets: ['node_exporter:9100']
- job_name: 'cadvisor'
static_configs:
- targets: ['cadvisor:8080']
- job_name: 'app'
metrics_path: '/metrics'
static_configs:
- targets: ['app:8000']