Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

İzleme ve Metrikler

Prometheus Metrikleri

MenzeletDB, Prometheus text format uyumlu HTTP endpoint sunar.

Konfigürasyon

[metrics]
enabled = true
host = "127.0.0.1"    # "0.0.0.0" = uzak erişim
port = 9100

Endpoint

GET http://127.0.0.1:9100/metrics

Metrik Kategorileri

Bağlantı Metrikleri

MetrikTipAçıklama
connections_totalCounterToplam TCP bağlantı sayısı
connections_activeGaugeAnlık aktif bağlantı sayısı
connections_rejectedCounterLimit aşımı reddedilen bağlantılar

Kimlik Doğrulama

MetrikTipAçıklama
auth_success_totalCounterBaşarılı giriş sayısı
auth_failure_totalCounterBaşarısız giriş sayısı

Sorgu Metrikleri

MetrikTipAçıklama
queries_totalCounterToplam sorgu sayısı
queries_selectCounterSELECT sorgu sayısı
queries_insertCounterINSERT sorgu sayısı
queries_ddlCounterDDL komut sayısı

İndeks Metrikleri

MetrikTipAçıklama
index_builds_totalCounterİndeks inşa sayısı
index_lookups_totalCounterİndeks arama sayısı

Depolama / Havuz Metrikleri

MetrikTipAçıklama
wal_appends_totalCounterWAL yazma sayısı
flush_totalCounterFlush işlem sayısı
pool_activeGaugeAnlık kullanılan context sayısı
pool_idleGaugeAnlık boşta context sayısı
pool_createdCounterToplam oluşturulan context
pool_reusedCounterHavuzdan yeniden kullanılan context

Metrik Türleri

TipAçıklamaÖrnek
AtomicCounterMonoton artan sayaçconnections_total, queries_total
AtomicGaugeAnlık değer (yükselir/düşer)connections_active, pool_idle

Performans

  • ~1-2 ns maliyet (x86-64 LOCK XADD talimatı)
  • ~200 byte bellek tüketimi (tüm metrikler için)
  • Lock-free: Mutex/RwLock kullanılmaz

Örnek Prometheus Çıktısı

# HELP connections_total Toplam bağlantı sayısı
# TYPE connections_total counter
connections_total 1523

# HELP connections_active Anlık aktif bağlantı
# TYPE connections_active gauge
connections_active 12

# HELP queries_total Toplam sorgu sayısı
# TYPE queries_total counter
queries_total 45678

# HELP pool_active Aktif context
# TYPE pool_active gauge
pool_active 8

# HELP pool_idle Boşta context
# TYPE pool_idle gauge
pool_idle 12

Grafana Entegrasyonu

Prometheus veri kaynağını yapılandırdıktan sonra aşağıdaki sorgularla dashboard oluşturulabilir:

PanelPromQL
Anlık bağlantılarconnections_active
Sorgu hızı (req/s)rate(queries_total[5m])
Havuz doluluk oranıpool_active / (pool_active + pool_idle)
Auth başarısızlık oranırate(auth_failure_total[5m])

Yük Testi Aracı

menzelet_loadgen ile stres testi yapılabilir:

menzelet-loadgen \
  --host 127.0.0.1:4600 \
  --scenario mixed \
  --concurrency 50 \
  --iterations 1000

Senaryolar: read, write, mixed, auth, ddl