GH GambleHub

Gözlemlenebilirlik и iz örneklemesi

1) Neden gözlemlenebilirlik

Gözlemlenebilirlik (O11y) üç soruya cevap verir: Ne oluyor, neden, nasıl düzeltilir. 4 sinyale dayanır:
  • Metrikler (agregalar, hızlı tepki verir);
  • Günlükler (ayrıntılar ve adli tıp);
  • İzler (çapraz kesme neden-sonuç ilişkileri);
  • Profiller (prod modunda CPU/yığın/kilit çekişmesi).

Anahtar: sinyaller + telemetri ekonomisi (örnekleme, tutma, sıkıştırma) arasındaki korelasyon.

2) Sinyal haritası ve ilkeleri

2. 1 KIRMIZI/KULLANIM

KIRMIZI (API için): Oran (RPS), Hatalar (%5xx/4xx önemli), Süre (p50/p95/p99).
KULLANIM (kaynaklar için): Kullanım, Doygunluk, Hatalar (NIC, CPU, disk, kuyruklar).

2. 2 Ürün Değişmezleri

Bir SLO tanımlayın (örn. "p95 gecikme'/v1/ödemeler '≤ 300ms, hatalı bütçe 0. 30 gün içinde %5"). Uyarılar yalnızca SLO ihlal edildiğinde veya yakıldığında "çığlık atmalıdır".

2. 3 Bağlam

Bu/iş niteliklerini güvenli bir şekilde aktarmak için W3C Trace Context ('traceparent', 'tracestate') ve bagajı uygulayın (örn. 'tenant', 'region', PII yok).

3) Gözlenebilirlik mimarisi

SDK/otomatik enstrümantasyon: Hizmetlerde OpenTelemetry (OTel) (HTTP/gRPC/DB/istemciler).
Bir otobüs olarak OTel Toplayıcı: resepsiyon, zenginleştirme, örnekleme, ihracat (Prometheus, Tempo/Jaeger, Loki/ELK, ClickHouse).

Kasalar:
  • Metrikler: Prometheus/Mimir/VictoriaMetrics;
  • Yollar: Tempo/Jaeger/Zipkin;
  • Günlükleri: Loki/ELK/Vektör - S3 + deshevoye depolama;
  • Profiller: Piroskop/Parca.
  • Korelasyon: hizmet grafikleri, örnekler, p99 grafiğinden belirli bir ize geçiş.

4) İzleme Örneklemesi: Stratejiler

4. 1 Kafa tabanlı örnekleme

Basit ve ucuz uygulama (SDK/giriş).
Eksileri: Nadir hataları/yavaş sorguları kaçırabilir.

Ne zaman: Yüksek RPS, sıkı bütçeler, öngörülebilir bir pay gereklidir (örneğin, %1-5).

4. 2 Kuyruk tabanlı örnekleme

Karar, aralığın bitiminden sonra Collector'da verilir.
Anormalliklerin seçilmesi garanti edilebilir: hatalar, p99, belirli yönlendirmeler/kiracılar.
Eksileri: tamponlama, daha sert ve daha pahalı.

Ne zaman: "anlamlı" yollar ılımlı maliyetle gereklidir.

4. 3 Kombine model

Küresel kafa %1-5, artı kuyruk kuralları:'her zaman hataları/yavaş açıklıkları kaydedin "," kanarya trafiğinin %50'sini örnekleyin ",'bir olaydaki tüm ödeme yollarının izlerini kaydedin".

5) Dinamik örnekleme ve telemetri bütçesi

Bütçeye duyarlı: tutma hacmi ≤ N trails/min; Aşılırsa, eşikleri yükseltin (örneğin, yalnızca p99'u seçin. 5 +, yalnızca hata).
Rotaya/kiracıya göre kurallar: önemli uç noktalar/kiracılar - daha büyük bir pay ile.
Uyarlanabilir pencereler: patlamalar - geçici olarak hata/yavaş hızı artırır.
Kardinalite azaltma: normalize kullanıcı ajan, IP/ASN, squash yığın izleri, maske sırları.

6) Yapılandırmalar (referanslar)

6. 1 OpenTelemetri Toplayıcı - kuyruk örnekleme (yaml-fragment)

yaml receivers:
otlp: { protocols: { http: {}, grpc: {} } }

processors:
batch: { send_batch_size: 8192, timeout: 2s }
tail_sampling:
decision_wait: 5s num_traces: 100000 expected_new_traces_per_sec: 5000 policies:
- name: always-error type: status_code status_code: { status_codes: [ERROR] }
- name: slow-endpoints type: latency latency: { threshold_ms: 300 }      # p95 цель
- name: important-routes type: string_attribute string_attribute: { key: http. target, values: ["/v1/payments", "/v1/payouts"] }
- name: tenant-eu1 type: string_attribute string_attribute: { key: tenant, values: ["eu-1"] }
- name: probabilistic-default type: probabilistic probabilistic: { sampling_percentage: 5. 0 }

exporters:
otlphttp/tempo: { endpoint: http://tempo:4318 }
prometheus: { endpoint: "0. 0. 0. 0:9464" }

service:
pipelines:
traces:
receivers: [otlp]
processors: [batch, tail_sampling]
exporters: [otlphttp/tempo]

6. 2 Prometheus - örnekler (fragman)

Uygulamada, histogramları kaydederken, 'trace _ id'ile örnekler ekleyin. Grafana'da, "iğneler" üzerine tıklamalar bir ize yol açar.

yaml scrape_configs:
- job_name: api scrape_interval: 10s honor_labels: true static_configs: [{ targets: ["api:9100"] }]
exemplar_limit: 10

6. 3 Loki - günlüklerin maliyetini azaltmak

Etiketler yalnızca kararlıdır ('service', 'env', 'region', 'route _ class').
Yüksek kardinalite (request_id, user_id) - yükte, ancak redaksiyonla.
Örnek "başarılı" InfoLogs, herhangi bir hata/uyarı kaydedin.

6. 4 Jaeger/Tempo - tutma ve indeks

Ham izleri 3-7 gün, agregaları/simetrileri daha uzun süre saklayın.
Ucuz depolamada parke/blokları etkinleştirin (S3 uyumlu), indeksler kompakttır.

7) İzleme simülasyonu

7. 1 Adlandırma ve Nitelikler

hizmet. İsim ',' hizmeti. Sürüm ',' dağıtım. Çevre '.
'http. Yöntem ',' http. Rota ',' http. Hedef ',' http. status_code', 'net. akran. İsim '.
PII olmadan iş özellikleri: 'kiracı', 'bölge', 'ödeme _ sağlayıcı', 'oyun _ id'.

7. 2 Olaylar ve bağlantılar

Yayılma olayları: önemli noktalar (DB işleminin başlangıcı, retray, devre açık, önbellek özledim).
Bağlantılar: zapros - vebkhuk/sobytiye iletişim; EDA ve giden kutusu/gelen kutusu için kullanışlıdır.

7. 3 Örnek

Gecikme/boyut histogramlarına 'trace _ id' içeren örnekler ekleyin: Tek bir tıklamayla trace metric için gezinme.

8) Metrikler: ne ve nasıl

8. 1 Teknik

Rota/kiracı/sağlayıcıya göre KIRMIZI (PSP, KYC).
Пулы: 'db _ connections _ in _ use', 'http _ client _ in _ flight', 'queue _ depth'.
Stabilizasyon: yeniden denemeler, zaman aşımları, devre açık/yarı açık, hız limiti isabetleri.
Go/Java/Python çalışma zamanı: GC duraklatır, yığın, güvenli noktalar, GIL gecikmeleri.

8. 2 İş Metrikleri

Kayıt/oturum açma/depozito/sonuç, dönüşüm, başarısızlık 3DS/KYC, ters ibraz oranı.
Önemli özellikler: cüzdan zamanı, başarı oranı ödemesi.

8. 3 Kardinalite ve depolama

Açık kovalarla histogramlar (örn. '[50 100 200 300 500 1000 2000] ms').
Yüksek kardinaliteye sahip işaretlerden kaçının (ham user_id, request_id) - bunları günlüklere/parkurlara götürün.

9) Günlükler: standartlar ve korelasyon

Biçim: JSON + gerekli anahtarlar ('timestamp', 'level', 'message', 'trace _ id', 'span _ id', 'service', 'env').
Düzenleme: maske PAN, belirteçler, PII.

Örnekleme: 'Hata/uyarı' için %100, 'gürültülü' yollarda 'bilgi' için %5-20

İzlere bağlanma - 'trace _ id' aracılığıyla. Log dizeleri - "pivot" izlemek için ve tersi.

10) Satışlarda profilleme

CPU/heap/alloc/locks için sürekli profillemeyi (Pyroscope/Parca) etkinleştirin.
P99 zirvelerini sıcak yığınlarla ilişkilendirin; 7-14 gün boyunca saklayın.

11) SLO/kusurlu bütçe hakkında uyarı

SLO uyarıları: "Hatalı bütçe X %/saatten daha hızlı harcanır" (tahmin uyarıları).
Belirtiler, neden değil: CPU'ya değil, istemci seviyesine (RUM/edge veya per-route) uyarı.
Çoklu pencere, çoklu yanma oranı: 1 saatte %2 ve 6 saatte %5 - iki durum.
Planlı bozulma sırasında sessizlik: özellik bayrakları/kanarya sırasında eşik kayması.

12) Maliyet ve saklama

Hacim kotaları: yollar ≤ N TB/ay, günlükler - sıcak 3-7 günleri, soğuk S3 30-90 günleri, metrikler - aşağı örnekleme (1 dk. - 5 dk. - 1 h.).
Kuyruk kuralları, hatalı/yavaş tutarak × 10- × 100 hacmini azaltır.
En düşük maliyet sinyalleri - metrikler; En yüksek değerle - "doğru" yollar ve profiller.

13) Antipatterns

"Her zaman %100 izler" - maliyet, gürültü ve frenlerin patlaması.
Anahtarlar/maskeleme olmadan serbest formatta oturum açar.
Sonsuz etiket metrikleri (user_id/ip/full UA).
Hayır 'traceparent'/' bagaj' - ilişkilendirilemez.
SLO yerine CPU/yığın üzerinde uyarılar - fayda olmadan "yakar" sohbet.
Hata önceliği/yavaş olmadan "rastgele %1" örnekleme - değerli durumları kaybedin.

14) Gösterge panoları örnekleri (iskeletler)

API'ye Genel Bakış: RPS, sınıfa göre hata oranı, gecikme süresi p95/p99 (örnekler tıklanabilir), üst yönlendirmeler.
Sürüm/Kanarya: Eski/yeni sürüm metriklerinin karşılaştırılması, aykırı oran, açık devreler, yeniden denemeler.
PSP/KYC: Sağlayıcıların başarı oranı, gecikme ve başarısızlık, ödeme hatalarıyla korelasyon.
Infra: Kaynaklara göre KULLANIM, kuyruk doygunluğu, ağ damlaları.

15) iGaming/Finansın Özellikleri

Kritik yollar (depozitolar/sonuçlar): Yalnızca olaylar veya sınırlı pencereler için %100 izleme; Normal modda - kuyruk "hata/uzun gecikme ile tüm".
Bölge/kiracı: bagaja 'kiracı', 'yargı yetkisi', 'marka' ekleyin; Yargı yetkisine göre SLO'lar oluşturun.
Antifrod/bot filtresi: metrikler ve Risk API çözümlerinin izleri (allow/deny/challenge), challenge-pass-rate, velocity-hits.
Denetim/uyumluluk: PII olmadan gerekli minimum tutun; Sabit günlükler - ayrı bir devrede.

16) Prod Hazırlık Kontrol Listesi

  • Uçtan uca yayılma ('traceparent', 'bagaj'), log/metrik/iz korelasyonu.
  • Kuyruk örneklemeli OTel Toplayıcı (hatalar/yavaş/önemli yönlendirmeler) + olasılıksal varsayılan.
  • KIRMIZI/KULLANIM metrikleri, açık kovalar, örnekler - ize geçiş.
  • SLO ve hatalı bütçe uyarısı (iki zaman çizelgesi).
  • Telemetri düzenlemeleri ve bütçe; Altörnekleme metrikleri; kütükler için soğuk hava deposu.
  • Standartlaştırılmış JSON günlüğü, redaksiyon PII/sırları.
  • Satışlarda profilleme dahil; Olay için "sıcak" yığınların panoları.
  • Kanarya panoları ve sürüm karşılaştırması; "Kör noktalar" olmadan serbest bırakın.
  • Runbook: Bir olayın örnekleme payını geçici olarak nasıl artırabilirim.
  • Öznitelik/etiket adlandırma dokümantasyonu ve yüksek kardinalite inhibisyonu.

17) TL; DR

Korelasyon etrafında gözlemlenebilirlik oluşturun: KIRMIZI/KULLANIM - metrikleri örneklemektedir - izler - günlükler/profiller. Birleştirilmiş örnekleme yoluyla maliyeti yönetin: küçük kafa % + kuyruk kuralları (hatalar, yavaş, önemli yollar/kiracılar). Uyarılar - SLO ve hata bütçesinde. Retansiyonları ve kardinaliteyi kontrol altında tutun, OTel Collector'u "merkezi sinir sistemi'olarak kullanın. "Ödeme/yargı yolları için - öncelikli telemetri ve sıkı veri hijyeni.

Contact

Bizimle iletişime geçin

Her türlü soru veya destek için bize ulaşın.Size yardımcı olmaya her zaman hazırız!

Telegram
@Gamble_GC
Entegrasyona başla

Email — zorunlu. Telegram veya WhatsApp — isteğe bağlı.

Adınız zorunlu değil
Email zorunlu değil
Konu zorunlu değil
Mesaj zorunlu değil
Telegram zorunlu değil
@
Telegram belirtirseniz, Email’e ek olarak oradan da yanıt veririz.
WhatsApp zorunlu değil
Format: +ülke kodu ve numara (örneğin, +90XXXXXXXXX).

Butona tıklayarak veri işlemenize onay vermiş olursunuz.