Sunucu İzleme Nedir?
Sunucu izleme (server monitoring), CPU, RAM, disk, network, uptime ve uygulama metriklerinin sürekli toplanması, saklanması, görselleştirilmesi ve belirli eşikler aşıldığında alarm üretilmesi sürecidir.
Modern monitoring sistemleri şu sorulara cevap verir:
- Performans neden düştü?
- Hangi kaynak bottleneck?
- Ne zaman crash olacak?
- Ne zaman disk dolacak?
En yaygın monitoring stack:
- Prometheus
- Grafana
- Node Exporter
- Alertmanager
Monitoring Neden Önemli?
| Uptime | Yıllık Downtime |
|---|---|
| %99 | 3.65 gün |
| %99.9 | 8.7 saat |
| %99.99 | 52 dakika |
Monitoring’in amacı uptime artırmaktan çok MTTR (Mean Time To Recovery) süresini düşürmektir.
Monitoring varsa:
- Sorun tespit süresi: 30–60 sn
- Monitoring yoksa: Saatler
İzlenmesi Gereken Kritik Metrikler
| Metric | Normal | Risk | Kritik |
|---|---|---|---|
| CPU | %20–60 | %80 | %95 |
| RAM | %40–70 | %85 | %95 |
| Disk usage | %50 | %80 | %90 |
| Disk I/O wait | < %5 | %10 | %20 |
| Load average | CPU core sayısı | +50% | 2x |
Örnek:
- 2 vCPU sunucu
- Load average = 4
- CPU = %95
→ Response time 200ms → 1200ms
Monitoring Araçları Karşılaştırma
| Tool | Tür | Maliyet |
|---|---|---|
| Prometheus | Self-hosted | Ücretsiz |
| Grafana Cloud | SaaS | Ücretli |
| Datadog | SaaS | Pahalı |
| Zabbix | Self-hosted | Ücretsiz |
| New Relic | SaaS | Ücretli |
Monitoring Mimarisi
Server → Node Exporter → Prometheus → Grafana
↓
Alertmanager → Email / Telegram
Kurulum Adımları
Node Exporter
wget https://github.com/prometheus/node_exporter/releases/latest/download/node_exporter.tar.gz
tar xvf node_exporter.tar.gz
cd node_exporter*
./node_exporter
Prometheus
wget https://github.com/prometheus/prometheus/releases/latest/download/prometheus-linux-amd64.tar.gz
tar xvf prometheus-linux-amd64.tar.gz
cd prometheus*
prometheus.yml
scrape_configs:
- job_name: "node"
static_configs:
- targets: ["localhost:9100"]
./prometheus --config.file=prometheus.yml
Grafana
sudo apt install grafana
sudo systemctl start grafana-server
Dashboard ID: 1860 (Node Exporter Full)
Alert Rule Örneği
groups:
- name: cpu_alert
rules:
- alert: HighCPUUsage
expr: avg(rate(node_cpu_seconds_total{mode!="idle"}[5m])) > 0.85
for: 2m
labels:
severity: critical
annotations:
summary: "CPU usage yüksek"
Production Senaryosu (Before / After)
Sunucu:
- 4 GB RAM
- 2 vCPU
- 15k günlük trafik
| Metric | Önce | Sonra |
|---|---|---|
| Response time | 620 ms | 240 ms |
| Downtime | 3 saat/ay | 15 dk/ay |
| CPU spike | 50 dk | 6 dk |
| Disk crash | Ayda 1 | 0 |
Neden düzelme oldu?
- Disk alert → log temizleme
- CPU alert → bot engelleme
- RAM alert → swap çözümü
Riskler
| Hata | Sonuç |
|---|---|
| Çok fazla alert | Alert fatigue |
| Yanlış threshold | False alarm |
| Sadece CPU izlemek | Disk crash kaçırılır |
| Log izlememek | Root cause bulunamaz |
Ne Zaman Monitoring Kurmalısınız?
- VPS kullanıyorsanız
- Gelir getiren site varsa
- Trafik > günlük 1000
- API / SaaS varsa
Monitoring = gelir koruma sistemi.
CTA
Monitoring kurulumu, alert sistemi ve sunucu optimizasyonu için profesyonel sunucu yönetimi hizmeti kullanabilirsiniz.