Observability: metriklar, loglar, iGaming trassasi
1) Nima uchun observability aynan iGaming
Oʻyinchilar real vaqtdagi kechikishlar va nosozliklarga sezgir (live-oʻyinlar, stavkalar, turnirlar). Login/depozit/pulning har qanday buzilishi daromad va ishonchga ta’sir qiladi. Kuzatish darajasi:- L3-L7, ilova va biznesning bir zumda rasmini berish;
- front, API, o’yin provayderlari, to’lovlar o’rtasidagi «tor joylarni» tezda mahalliylashtirish;
- oziq-ovqat fayllarini «chiroyli» texnik metriklardan aniq ajratish (pul tikish mumkin emas).
Kalit: SLO (service level objectives) oziq-ovqat floularidan boshlash va shundan keyingina metrik/logi/trassirovkalarni tanlash.
2) Mahsulot SLO va budjet xatosi (error budget)
SLO namunalari (30 kun ichida):- Login: muvaffaqiyat ≥ 99. 90%, p95 latency ≤ 250 ms.
- Depozit (’/payments/deposit’) va xulosa: muvaffaqiyat ≥ 99. 85%, p95 ≤ 400 ms.
- Real vaqtda stavka: muvaffaqiyat ≥ 99. 9%, p95 WS-xabarlar ≤ 120 ms.
- Live-oʻyin slotini/sessiyasini ishga tushirish: muvaffaqiyat ≥ 99. 8%, p95 ≤ 800 ms.
Error budget relizlar siyosatiga o’tkaziladi: agar> 50% sarflangan bo’lsa - faqat stop-ficha/kanar deplosi;> 80% - faqat bagfiklar.
3) Telemetriyaning «Uch kiti»
Metrika (holat kvantifikatsiyasi)
Har bir endpoint/usul boʻyicha foydalanuvchi API: Rate, Errors, Duration uchun RED.
Infratuzilma uchun USE: Utilization, Saturation, Errors (CPU, xotira, IO, ulanishlar, navbatlar).
Biznes-metrika: ro’yxatdan o’tish konvertatsiyasi → depozit, muvaffaqiyatli xulosalar ulushi, faol hayot-kazino stollari soni, kotirovkalarning o’rtacha kechikishi.
Logi (faktlar va kontekst)
’ts’,’level’,’service’,’env’,’trace _ id’,’span _ id’,’user _ id’(taxallusli),’session _ id’,’route’,’status’,’latency _ ms’,’amount,’currency’,’provider’.
Toifalar: audit (huquq/balans o’zgarishi), biznes-voqealar (stavka, depozit), xatolar (stack/kod), texnik qo’llab-quvvatlash (warn/info).
Izlash (sababiy-oqibatli aloqalar)
Front orqali end-to-end → API → tavakkal dvigateli → o’yin provayderlari/to’lovlar → navbatlar/DB.
Xatolarni keng semplash (100%), «sekin» so’rovlarni moslash (masalan, p95 +), andoza bo’yicha 1-5% success trafigi.
4) Metriklarning dizayni: nimani suratga olish va uni qanday nomlash kerak
Prometheus-metrik (psevdo) misollar:
RED по платежам counter ig_payments_requests_total{route="/payments/deposit",method="POST",provider="card"}
counter ig_payments_errors_total{route="/payments/deposit",code="5xx",provider="card"}
hist   ig_payments_latency_seconds_bucket{route="/payments/deposit",le="0. 25"}
gauge  ig_wallet_balance_anomalies{reason="negative_after_loss"}
Бизнес counter ig_bet_placed_total{game="slot",provider="PragmaticPlay",currency="EUR"}
hist   ig_bet_rtt_ms_bucket{game="live_blackjack",le="100"}
gauge  ig_active_tables{provider="Evolution",market="EU"}- Yagona yorliq ontologiyasi:’env’,’region’,’market’,’provider’,’route’,’game’,’payment _ method’.
- Kardinallikni portlatmaslik:’user _ id’ni metriklarda cheklash (faqat loglarda/treyslarda).
5) Logi: tuzilishi, maxfiyligi, retenshen
Tanqidiy harakatlar uchun minimal JSON:json
{
"ts":"2025-10-23T17:41:26. 123Z "," level ":" INFO "," service ":" payments-api "," env ":" prod "," trace_id":"b3f7"... "," span_id":"ab12"... ", user_pid":"u_9fd"... ,//taxallusi, email/telefon
"session_id":"s_78a…",  "route":"/payments/deposit",  "status":200,  "latency_ms":182,  "amount":100. 0,  "currency":"EUR",  "provider":"card",  "bin_country":"DE"
}- PAN/CVV, tokenlar, parollar, JWTni hatto debug’da ham yashirish/chiqarib tashlash.
- Loglarni trassalarga (’trace _ id’) va buyurtmachiga (taxallusi’user _ pid’) bogʻlash.
- TTL: «shovqinli» texnloglar 14-30 kun, audit-trail 1-3 yil (siyosat va qonun bo’yicha), biznes-loglar 6-24 oy (taxalluslashtirilgan).
- Audit uchun WORM/immutability (oʻzgarmas baketalar), rollar boʻyicha ACL.
6) Trassalash: frontdan provaydergacha
Choʻzilgan flow
Login/ro’yxatdan o’tish → antibot/WAF → Auth-API → profil/hamyon.
Depozit → Payment-API → provayder → webhooks → Wallet-service.
Garov → Game-gateway (WebSocket) → o’yin provayderi → yutuq hisobi → Wallet.
Taktika
OpenTelemetry hamma joyda: SDK frontda (XHR/Fetch), mobilda, APIda, vorkerlarda.
Kontekst protokollari: W3C traceparent/tracestate; gRPC/HTTP/WebSocket orqali tashlash.
Adaptive sampling: xatolar uchun 100%, to’lov natijalari uchun ≥ 50%, «yangi» relizlar/kanareykalar uchun ≥ 10%, fon uchun 1-5%.
Treys-vyudagi vizual belgilar:’risk _ decision’,’provider _ name’,’bonus _ id’,’jackpot _ round’.
7) Real-time kanallari: WebSocket/WebRTC
Метрики: `ws_connected_sessions`, `ws_messages_in_flight`, `ws_send_latency_ms`, `ws_disconnect_reason`.
Treys-hodisalar:’ws _ subscribe _ table’,’ws _ bet _ place’,’ws _ settlement’.
Logi: xabar oʻlchamini/chastotasini me’yorlash; «bo’sh pinglar» va flood-patternlarni kuzatish.
WebRTC (hayot-kazino) uchun:’jitter _ ms’,’packet _ loss’,’round _ trip _ time _ ms’,’keyframe _ interval _ s’.
8) Alerting: alomatlardan sabablargacha
Simptomatik alertlar (SLO/SLA):- SLI - login xatosi> 0. 5 daqiqada 3%
- p95 ’/payments/deposit’> 400 ms ketma-ket 10 min.
- Stavkalarning muvaffaqiyati <99. 15 daqiqada 7%
- `db_connections_saturation > 0. 85` 5 мин; `queue_lag_seconds > 30`.
- ’429 ’/’ 5xx’ dan bitta ASN → signalni WAF/bot-menejerga chaqnash.
- Allertlar faqat barqaror buzilishlarda; dublikatlarni avto-o’chirish; routes to runbooks.
9) Haqiqatan ham yordam beradigan dashbordlar
«Flou depozit»
Huni: so’rov → provayderga tahrir → kolbek → apdeyt hamyon.
Provayderlar bo’yicha muvaffaqiyat/xatolar, BIN-mamlakatlar xaritasi, yashirin p95/99, xato kodlarini taqsimlash.
«Live-o’yinlar/stavkalar»
Faol stollar, onlayn oʻyinchilar, p95 WS-kechikishlar, share timeouts/aborts, xato boʻyicha top-oʻyinlar.
«Salomatlik API»
Asosiy yo’nalishlar bo’yicha RED, 4xx/5xx, ulanish pulining saturations/CPU/GC, top N sekin endpoints (treysga linklar bilan).
10) Qiymati va saqlash: qanday qilib bankrot bo’lmaslik kerak
Cardinality budget: yorliqlar/atributlar uchun limitlar; metriklarni qo’shadigan PR revyusi.
Tiered storage: issiq 3-7 kun (tez qidiruv), issiq 30-90 kun (S3/obyekt), sovuq arxiv (kamroq).
Downsampling metrik (1s → 10s → 1m) va rolling-agregatsiyalar.
Retray va idempotent qo’ng’iroqlardan loglarni deuplikatsiya qilish.
11) Maxfiylik va komplayens (qisqacha)
’user _ id’ taxallusini oling, elektron pochta, telefon, pasport daftarlarida saqlanmaydi.
Transportni shifrlang (mTLS) va «dam olish», kirish chegaralarini belgilang (RBAC/MFA), ma’lumotlarga kirish uchun meta-jurnallarni yuriting.
TTL/retenshen ma’lumotlar matritsasida bo’lgani kabi; «olib tashlash huquqini» bayroq-deaktivatsiya va taxallusni tarixiy to’plamlarda amalga oshiring.
12) Hodisalar va treyslarni sozlash: tezkor retsept
1. Simptomatik alert ishladi (depozitlarning muvaffaqiyati).
2. Dashboard bitta provayderning o’sishini ko’rsatdi.
3. Trace-view’ga bosing:’provider _ callback’(p99 2. 3 s), koʻp retraylar.
4. Logi:’timeout’+ ASN = bot-pattern bilan hosting.
5. Amallar: taymautlarni kolbekga ko’tarish, JS-challengni ASN uchun WAFga kiritish, retrajlarni cheklash.
6. Retro:’callback _ success _ ratio’ga SLI,’queue _ lag _ seconds’ga alert qoʻshilgan.
13) Bosqichlar bo’yicha joriy etish
1. 4-6 ta tanqidiy flou uchun SLO-dizayn (login, depozit, chiqish, o’yinni boshlash, stavka).
2. RED/USE + biznes-SLI metrikasi; leybllarning yagona sxemasi.
3. Tarkibiy loglar’trace _ id’; sezgir maydonlarni yashirish.
4. OpenTelemetry hamma joyda; moslashtirilgan semplash.
5. Dashbordlar + alertlar (simptomatik va sababli), runbooks.
6. Kost-menejment: kardinallik, downsampling, saqlash darajasi.
7. Mashqlar: GameDay-stsenariylari (to’lovning pasayishi, provayder lagi, WS ko’tarilishi).
8. Doimiy yaxshilanish: Yangi fazalar paydo boʻlganda SLI qoʻshing, «koʻr joylar» ni yoping.
14) Chek-varaq (prod-ready)
- SLO/SLI tasdiqlangan, error budget relizlar siyosatida.
- RED/USE metrika + yagona yorliq ontologiyasiga ega biznes metrika.
- JSON loglari, sirlarni yashirish, har bir xabardagi’trace _ id’.
- End-to-end izlash (HTTP/gRPC/WebSocket/WebRTC), W3C kontekst.
- Alertlar simptomatik va sababiy, shovqinsiz, runbooks linklar.
- Depozitlar, stavkalar, API salomatligi uchun dashbordlar; provider/market’boʻyicha tezkor filtrlar.
- Sampling/kardinallik nazorat ostida, tiered storage.
- Maxfiylik: taxalluslashtirish, shifrlash, RBAC/MFA, metajurnallar.
- Ta’limotlar va retro, SLOni muntazam qayta ko’rib chiqish.
Xulosa
iGaming - bu «CPU grafiklari» emas, balki real vaqtdagi mahsulot manzarasi: tanqidiy floularning SLOlari, RED/USE metriklari, o’yinchi va pulning butun yo’nalishi bo’ylab bog’langan loglar va izlar. Noto’g’ri byudjet bo’yicha alerting intizomini qo’shing, telemetriya narxini nazorat qiling, maxfiylikka rioya qiling - va jamoa muammolarning sabablarini ko’rmaydi, lekin o’yinchilar sezmasdan ularni tuzatadi.
