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.
- 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ı.
- 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 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ı.
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.