GH GambleHub

Monitorinq və loginq

1) Niyə iGaming-də vacibdir

Real vaxt pulu: depozitlərin qəbulu, ani ödənişlər, bahis və uduşların hesablanması, turnirlər - hamısı gecikmələrə və uğursuzluqlara qarşı həssasdır.
Tənzimləyici və audit: tam izlənilebilirlik tələb olunur (KYC/AML, ödənişlər, məsuliyyətli oyun limitləri).
Mürəkkəb paylanmış memarlıq: API-şlyuzlar, ödənişlərin orkestri, EDA/Kafka, provayder xidmətləri, mobil müştərilər, cəbhələr, BI-şinlər.
Məqsəd: MTTD/MTTR kəsmək, qızıl siqnalları SLO saxlamaq və hadisələrin forensikasını təmin etmək.

2) Müşahidə üçün əsas anlayışlar

Log: Ətraflı hadisələr (JSON strukturlaşdırılmış) araşdırma və audit üçün uyğun.
Metrik: zamanında aqreqatlar (TSDB), SLO/alertlər üçün uyğundur.
Traces: xidmətlər/brokerlər/DB vasitəsilə səbəb-nəticə sorğu zəncirləri (trace/span).
Events: domen hadisələri (BetPlaced, DepositApproved) - biznes metrik və texnologiya arasında körpü.

3) «Qızıl siqnallar» və iGaming üçün SLI/SLO

Latency: Kritik axınlar üzrə P95/P99 (avtorizasiya, depozit, bahis, sessiyanın başlanğıcı, spin).
Traffic: API üzrə RPS, ödənişlər üzrə TPS, hadisələr üzrə EPS.
Errors: pay 5xx/4xx, decline-rate, failed-withdrawals, provayder səhvləri.
Saturation: CPU, memory, IO, Kafka lag, DB connections, thread-pools.

SLO nümunəsi:
  • SLI: `1 - (failed_payments / total_payments)`
  • SLO: 99. 30 gün ərzində 7% uğurlu kart icazəsi (error budget 0. 3%).

4) Toplama və emal arxitekturası

1. İncest: agentlər (OTel Collector/Fluent Bit), tətbiqdə SDK, RUM/sintetika.
2. Marşrutlaşdırma: broker/şin telemetriya (OTLP/HTTP/GRPC), filtrlər və PII maskalanması.

3. Anbarlar:
  • Metrika: TSDB (aqreqasiya, downsampling).
  • Log: hot (indeksləşdirilə bilən )/warm (daha az indeksləşdirilə bilən )/cold (obyekt saxlama, WORM).
  • Traces: Retensions və tail-sampling ilə time-indexed storage.
  • 4. Analitika/Alertlər: Qaydalar (PromQL/LogQL/SQL), Trejsamiya və relizlər ilə korrelyasiya.
  • 5. Daşbordlar: texniki + biznes növləri (ödənişlər, RNG/provayderlər, turnir mühərriki).

5) Log standartı (JSON) və hadisələrin taksonomiyası

Ciddi JSON log, vahid açarlar və səviyyələr tövsiyə olunur.

Уровни: `DEBUG < INFO < NOTICE < WARN < ERROR < FATAL < AUDIT`

Таксономия: `auth.`, `payment.`, `gameplay.`, `risk.`, `psp.`, `kyc.`, `rg.` (responsible gaming), `ops.`.

JSON-hadisə nümunəsi (AUDIT/PII-safe):
json
{
"ts": "2025-11-04T19:45:31. 842Z",
"lvl": "AUDIT",
"event_type": "payment. deposit_approved",
"correlation_id": "c-7d2c1f0b",
"trace_id": "2d6a9c0e4c0b1f72",
"span_id": "9f3a81d2a1c3b764",
"request_id": "r-8f12de9e",
"tenant": "brand_eu",
"psp": "acq_xyz",
"user_id_hash": "u:sha256:1e63…",
"device_id": "d-3c8f…",
"ip_trunc": "203. 0. 113. 0/24",
"amount_minor": 5000,
"currency": "EUR",
"result": "approved",
"latency_ms": 312,
"tags": ["pci_safe", "kyc_passed", "low_risk"],
"extra": {
"bin": "411111",
"method": "card",
"region": "EU",
"ab_test": "checkout_v2"
}
}
PII/PCI təhlükəsizlik qaydaları:
  • PAN/BIN (yalnız icazə verilən sahələri saxlayın), email/telefon - hash/token maskalanır.
  • IP/24 kəsmək, GeoIP ayrı saxlamaq.
  • Sanitar olmadan istifadəçi girişi üçün 'extra' -da pulsuz mətni qadağan edirik.

6) Korrelyasiya: trace_id, correlation_id, idempotency_key

Hər bir log və metrikaya 'trace _ id' (OTEL-dən), 'span _ id', 'correlation _ id' (biznes prosesi üçün keçici), 'idempotency _ key' (ödəniş sorğuları üçün) əlavə edin.
Kəsiklər qurmaq üçün baggage (tenant/brand, market, A/B-variant) ötürün.

7) Metrika: Texniki və Biznes

Texniki: RPS, p95 latency, error rate, saturation, GC, pool usage, Kafka consumer lag.
Biznes: CR qeydiyyatı → depozit, uğurlu avtorizasiyalar, ödənişlərin ləğvi, NGR/GGR, ARPPU, RTP anomaliyalar, KYC addımlarında drop-off, məsuliyyətli limitlərin payı.

PromQL (error-rate API) nümunəsi:
promql sum(rate(http_requests_total{status=~"5.."}[5m]))
/
sum(rate(http_requests_total[5m]))

8) Trace və OpenTelemetry

Gateway instruments, ödəmə orkestrator, oyun nüvəsi, bildirişlər, KYC/AML, provayderlərlə inteqrasiya.
Ümumi axın üçün Head-sampling + xətalar/gizli span və ödənişlər üçün tail-sampling (artan).
Kontekstin təbliğatı: 'traceparent '/' tracestate', Kafka headers, gRPC metadata.
Domen hadisələri ilə yuxu izah edin: 'BetPlaced', 'WithdrawalRequested'.

9) Səs-küy olmadan Alerting

Çox mərhələli eşiklər (warning/critical), flapping, deduplication, vaxt yuvaları.
Korrelyasiya: «böyümə 5xx» + «Kafka lag» + «p95 latency PSP» → bir hadisə bağlayın.
SLO-based alertlər: sərf error-budget - eskalasiya.
Alerts-as-Code (GitOps), review və test qaydaları.

Nümunə qaydaları (Prometheus):
yaml groups:
- name: payments rules:
- alert: PaymentErrorSpike expr: (sum(rate(payment_errors_total[5m])) / sum(rate(payment_attempts_total[5m]))) > 0. 02 for: 10m labels: { severity: "critical", team: "payments" }
annotations:
summary: "Payment errors> 2% per 10m"
runbook: "runbooks/payments/error-spike. md"

10) Log axtarış (LogQL nümunəsi)

logql
{app="psp-orchestrator", level=~"ERROR    FATAL"}
= "decline"
json amount_minor > 10000 region="EU"

Məqsəd səs-küyü tez aradan qaldırmaq və hədəf bölgədə «bahalı» uğursuzluqları vurğulamaqdır.

11) Daşbordlar: nə lazımdır

Payments Health: PSP üzrə müvəffəqiyyət/uğursuzluq, latency metodu, regional xəritə, SLA provayderləri.
Game Core: RPS provayderləri, p95 spin, error ratio SDK, RTP slot anomaliyalar.
Player Journey: qeydiyyat → KUS → depozit → oyun → çıxış (dönüşüm huni, addımlar arasında vaxt).
Infra: Kafka lag, DB connections, cache hit ratio, Kubernetes klasteri.

12) Saxlama, retensiya və dəyəri (FinOps)

Nəzarət altında kardinallıq: yüksək dəyişən etiketlərlə metriklərdən qaçınmaq (user_id).
Retens: metrik hot 30-90 gün, downsampling 13 aya qədər; hot log 7-14 gün, warm 30-90 gün, cold 1-3 il (tənzimləyici nəzərə alınmaqla).
Audit-loqlar üçün WORM/immutability, Object Lock.
Sıxılma/partizanlaşdırma və ILM siyasəti; audit/PII-safe üçün fərdi indekslər.
INFO/DEBUG-da log sampling; ERROR/AUDIT - tam.

13) Təhlükəsizlik və uyğunluq

PII/PCI: tokenizasiya, hash, maskalama; məlumatların minimuma endirilməsi.
RBAC/ABAC: log/treyslərə giriş - rollara görə, tentlərin bölünməsi.
Sirləri və açarları: credentials/tokenləri loqo etməyin; CI-də gizli detektorlar.
Audit-trail: administrasiyaya girişlər, limitlərin/ödənişlərin dəyişdirilməsi, balansın əl ilə düzəldilməsi - yalnız AUDIT indeksində, dəyişməz olaraq.
Legal-hold: istintaqda gecikmələrin dondurulması mexanizmi.

14) Telemetriya məlumatlarının keyfiyyəti

Qeydlər/tədbirlər üçün Schema Registry (versiyalaşdırma, uyğunluq).
Sahələrin vahid adı (snake_case, ölçü vahidi).
İncestdə validasiya (çirkli hadisələrin dağılması, evlilik haqqında metriklər).
Backpressure və «fırtına yuvaları» qarşı müdafiə.

15) SRE prosesləri, onkoll və runbook

Onkoll matrisi və eskalasiyası; Quiet Hours və rotasiya.
Runbook (diaqnostika addımları, SQL/LogQL reseptlər, deqradasiya üçün phicheflages).
Postmortem cəzasız, sahibləri və müddəti ilə action items.
Komanda göstəriciləri: MTTD/MTTR, səs-küylü alertlərin faizi, runbook örtüyü.

16) RUM və sintetika

RUM: WebVitals (LCP, CLS, INP), ön xətalar, cihaz izləri, regionlar/provayderlər.
Sintetika: müxtəlif bölgələrdən «qeydiyyat → depozit → spin → çıxış» ssenariləri; daxili yollar üçün xüsusi yerlər (adminka/arka ofis).

17) Relizlər, təcrübələr və fitzeflags təcrübələri

Reliz versiyaları ilə Linkui Trades (commit/artefact).
Çantada A/B etiketləri → daşbord «SLI-də eksperimentin təsiri».
Canary/Blue-Green: Kanaryalar üçün ayrı panellər, error-budget burn rate.

18) Anomaliyaların aşkarlanması və anti-frod siqnalları

Statistik triggerlər (seasonality-aware) decline-rate/chargeback-risk/yeni xəritələrin artması.
Korrelyasiya: «uğursuz depozitlərin artması + PSP adapterinin yeni buraxılışı».
Axın qaydaları (Kafka → Flink) near-real-time reaksiyalar üçün.

19) Tətbiqin yol xəritəsi (mərhələlər üzrə)

Mərhələ 0 - Bazis: JSON-loqlar, vahid korelasiya sahələri, xidmətlərin əsas metrikası, ümumi daşbordlar, ilk həyəcanlar.
Mərhələ 1 - Tracing: OTel instrumentation, head + tail sampling, looking.
Mərhələ 2 - Biznes-SLI/SLO: ödənişlər/nəticələr/oyun metrikləri, SLO-alertlər, error-budget prosesləri.
Mərhələ 3 - Yetkinlik: Alerts-as-Code, ILM, ayrı-ayrı retensiyalar, anomaliya-detekt, per-service runbook, CI/CD-də SRE təcrübələri.

20) Review üçün çek siyahısı

  • Log yalnız JSON, vahid açarları, PII-maskalanması.
  • Hər bir hadisədə: 'trace _ id', 'span _ id', 'correlation _ id', 'tenant'.
  • Metriklər qızıl siqnalları və iş axınlarını əhatə edir.
  • SLO təsvir, burn rate error-budget və alert var.
  • Tail-sampling ödəniş səhvləri və yüksək gizli üçün daxildir.
  • ILM/Retance və WORM audit log üçün xüsusi.
  • RBAC telemetriya, giriş audit.
  • Payments/Game Core/Player Journey/Infra.
  • Runbook hər kritik alert bağlıdır.
  • Postmortemlər və action items - sahibləri ilə buclogda.

Əlavə A: OpenTelemetry atributları (tövsiyə)

`service. name`, `service. version`, `deployment. environment`

`cloud. region`, `k8s. pod. name`, `k8s. container. name`

`tenant`, `brand`, `market`, `ab_test`, `user_segment`

`payment. method`, `psp`, `game. provider`, `game. id`

Əlavə B: SLO üçün metrik nümunələr

`payment_success_ratio`, `withdrawal_ttw_p95` (time-to-wallet), `psp_latency_p99`

`game_spin_latency_p95`, `provider_error_rate`, `kafka_consumer_lag`

`auth_success_ratio`, `kyc_step_dropout`, `cache_hit_ratio`

Əlavə C: sürətli araşdırma reseptləri

"Artır 'payment _ error _ rate' → PSP/region/metodu ilə müqayisə, tail treys yoxlamaq, adapter buraxılışını görmək.
«p99 spins ↑» → izləmə cəbhəsi → geytway → provayder, provayder/kanalları yoxlamaq, thread-hovuz limitləri, şəbəkə retraisi.
«Kafka lag ↑» → sağlamlıq konsumerləri, prodüserlərin retrayları, backpressure, yavaş sinks/DB.

💡 Bu təcrübələrə riayət edildikdə, platforma eyni zamanda mühəndislik aləti, biznes radarı və komplayans təminatçısı kimi xidmət edən davamlı, yoxlanıla bilən və qənaətli müşahidə sistemi əldə edir.
Contact

Bizimlə əlaqə

Hər hansı sualınız və ya dəstək ehtiyacınız varsa — bizimlə əlaqə saxlayın.Həmişə köməyə hazırıq!

Telegram
@Gamble_GC
İnteqrasiyaya başla

Email — məcburidir. Telegram və ya WhatsApp — istəyə bağlıdır.

Adınız istəyə bağlı
Email istəyə bağlı
Mövzu istəyə bağlı
Mesaj istəyə bağlı
Telegram istəyə bağlı
@
Əgər Telegram daxil etsəniz — Email ilə yanaşı orada da cavab verəcəyik.
WhatsApp istəyə bağlı
Format: ölkə kodu + nömrə (məsələn, +994XXXXXXXXX).

Düyməyə basmaqla məlumatların işlənməsinə razılıq vermiş olursunuz.