---
title: "Bölüm 8: Gözlemlenebilirlik Maliyet Yönetimi, Günlük Örnekleme ve Metrik Patlaması — Bulut Ekonomisi | TinyCTO"
description: "Metrik etiket patlamasını önleme, OpenTelemetry Collector ile uçta günlük filtreleme ve CloudWatch saklama sınırları."
image: "https://tinycto.tv/assets/cloud-economics/cloud_economics_manuals_og.jpg"
canonicalUrl: "https://tinycto.tv/tr/cloud-economics/manuals/08-gozlemlenebilirlik-maliyet-yonetimi"
locale: "tr"
---

# Bölüm 8: Gözlemlenebilirlik Maliyet Yönetimi, Günlük Örnekleme ve Metrik Patlaması

## 1. Yönetici Özeti ve Problem Tanımı
Gözlemlenebilirlik faturaları (Datadog, AWS CloudWatch, Splunk, New Relic), izledikleri altyapı maliyetlerini aşmalarıyla ün kazanmıştır. AWS işlemcilerine ayda \$50.000 harcayan bir şirketin Datadog veya CloudWatch günlük alımı ve özel metrikler için ayda \$70.000 harcaması sık rastlanan bir durumdur.

Başlıca sorumlular şunlardır:
1. Yüksek verimli canlı ortamlarda yayınlanan **örneklenmemiş debug/info günlükleri**.
2. **Yüksek kardinaliteli metrik etiketleri** (Prometheus veya Datadog metrik etiketlerine kullanıcı kimlikleri, UUID'ler veya zaman damgaları eklemek).
3. Yük dengeleyicilerden gelen **tekrarlayan sağlık kontrolü (healthcheck) günlüklerinin** saklanması.

---

## 2. Özel Metrik Patlaması Tuzağı
Telemetri platformlarında metrik maliyeti şu şekilde hesaplanır:
$$\text{Maliyet} \propto \prod \text{Boyutların Kardinalitesi}$$

Eğer `http_requests_total` metriği şu boyutlara sahipse:
- `endpoint`: 20 değer
- `status_code`: 5 değer
- `user_id`: 1.000.000 benzersiz kullanıcı

Bu tek bir metrik $20 \times 5 \times 1.000.000 = 100.000.000$ benzersiz zaman serisi oluşturur ve anında altı haneli aylık telemetri faturalarını tetikler.

### Metrik Kardinalitesi Altın Kuralı
**Yüksek kardinaliteli değerleri (Kullanıcı Kimlikleri, Oturum Kimlikleri, Sipariş Kimlikleri, IP Adresleri, UUID'ler) ASLA metrik boyutlarına koymayın.** Bunları yapılandırılmış dağıtık izleme (traces) veya günlük gövdelerine yerleştirin.

---

## 3. OpenTelemetry Collector ile Uçta Günlük Filtreleme
Gereksiz günlükleri kümeden çıkmadan önce uçta filtrelemek, örneklemek ve bırakmak için bir OpenTelemetry Collector daemonset'i dağıtın:

```yaml
# OpenTelemetry Collector İşlem Hattı Yapılandırması
processors:
  filter/drop_healthchecks:
    error_mode: ignore
    logs:
      log_record:
        - 'attributes["http.target"] == "/healthz"'
        - 'attributes["http.target"] == "/readyz"'
        - 'attributes["user_agent"] == "ELB-HealthChecker/2.0"'

  probabilistic_sampler:
    sampling_percentage: 10.0 # HTTP 200 INFO günlüklerinin yalnızca %10'unu tut; 4xx/5xx hatalarının %100'ünü sakla

service:
  pipelines:
    logs:
      receivers: [otlp]
      processors: [filter/drop_healthchecks, probabilistic_sampler]
      exporters: [datadog, cloudwatch]
```

---

## 4. CloudWatch Saklama Kuralları
Varsayılan olarak, AWS CloudWatch günlük grupları günlük akışlarını **Asla Sona Ermez (Never Expire)** şeklinde süresiz saklar.
AWS CLI veya Terraform aracılığıyla tüm hesap günlük gruplarında 30 günlük saklama tavanı uygulayın:

```bash
# Tüm CloudWatch günlük gruplarında 30 günlük saklama politikasını zorunlu kılın
aws logs describe-log-groups --query "logGroups[*].logGroupName" --output text | tr '\t' '\n' | while read group; do
  aws logs put-retention-policy --log-group-name "$group" --retention-in-days 30
done
```

```json
{
  "@context": "https://schema.org",
  "@type": "TechArticle",
  "headline": "Bölüm 8: Gözlemlenebilirlik Maliyet Yönetimi, Günlük Örnekleme ve Metrik Patlaması",
  "description": "Metrik etiket patlamasını önleme, OpenTelemetry Collector ile uçta günlük filtreleme ve CloudWatch saklama sınırları.",
  "url": "https://tinycto.tv/tr/cloud-economics/manuals/08-gozlemlenebilirlik-maliyet-yonetimi",
  "inLanguage": "tr-TR",
  "author": {
    "@type": "Organization",
    "name": "TinyCTO.tv",
    "url": "https://tinycto.tv"
  },
  "publisher": {
    "@type": "Organization",
    "name": "TinyCTO.tv",
    "url": "https://tinycto.tv"
  }
}
```
