Logo GH

Kuzatuv va telemetriya

(Bo’lim: Texnologiyalar va infratuzilma)

Qisqacha xulosa

Kuzatish - «nima uchun bunday ishlaydi?» yangi bildlar chiqarilmasdan. iGamingda bu juda muhim: eng yuqori darajadagi turnirlar, to’lov cho’qqilari, ko’p mintaqali va mas’uliyatli gambling/PII talablari. Bazis - umumiy identifikatorlar va standartlar (OpenTelemetry), SLO-kontraktlar, shovqinga chidamli alerting va qiymat nazorati bilan birlashtirilgan metriklar, loglar, trastirovkalar.

1) Kuzatish karkasi: nimadan iborat

Metriklar (vaqt boʻyicha sonlar): RED/USE, biznes-KPI, SLI. TSDBda saqlanadi.
Loglar (matndagi voqealar/JSON): audit, xatolar, biznes faktlari, xavfsizlik.
Izlash (spen): xizmatlar orqali so’rov yo’li, latentlik, kechikish sabablari.
Profiling: CPU/xotira/eBPF-oqimlar, heap/lock-kontenshn.
RUM va sintetika: haqiqiy foydalanuvchilar (web/app) + robot tekshiruvlari.
Telemetriya katalogi: sxemalar, PII siyosati, saqlash muddatlari, qiymat teglari.

2) Signallar taksonomiyasi va prinsiplari

RED для API: Rate, Errors, Duration.
infratuzilma uchun USE: Utilization, Saturation, Errors (CPU, disklar, tarmoq, navbatlar).
SLI/SLO: o’lchanadigan indikatorlar (masalan, muvaffaqiyatli so’rovlar/hammasi, p95 latency), foydalanish maqsadlari (masalan, "99. 9% 30 kun uchun"), xatolar byudjeti → jarayonlar triggeri.
High-cardinality aqlli: yorliqlar (mintaqa/tenant/provayder) bo’yicha foydali bo’lishi kerak, ammo TSDBni portlatmaslik kerak.

3) Standartlar va uzluksiz korrelyatsiya

OpenTelemetry (OTel): Metrik, loglar va trassalar uchun yagona SDK/protokol.
Identifikatorlar:’trace _ id’,’span _ id’,’correlation _ id’,’player _ id’(taxallusli),’payment _ route’.
ID oqimi: kirish shlyuzi → barcha mikroservislar → to’lovlar/PSP → navbatlar/joblar → loglar/metriklar/spenlar.

Misol: korrelyatsiya sarlavhalari


traceparent: 00-<trace_id>-<span_id>-01 x-request-id: <correlation_id>

4) Metrika: nimani va qanday o’lchaymiz

Nomlash/yorliqlar

`service="payments-api"`, `env="prod"`, `region="eu-west"`, `tenant`, `provider="pspX"`.

Prometheus namunalari

prometheus
RED http_requests_total{service="api",route="/deposit",method="POST",status="200"}
http_request_duration_seconds_bucket{service="api",le="0. 25",route="/deposit"} 1234 http_request_errors_total{service="api",route="/deposit"}

USE cpu_utilization_ratio{node="n1"} 0. 71 queue_depth{queue="withdrawals"} 128

Бизнес payments_success_total{psp="X",currency="EUR"} 4521 payment_conversion_ratio{route="pspX"} 0. 948

Gistogrammalar va exemplars

Latentlik gistogrammalarini (native-histograms/ β uckets) saqlang va «sekin baketdan» aniq trassaga sakrash uchun exemplarni’trace _ id’bilan bogʻlang.

5) Logi: tuzilgan va xavfsiz

Faqat JSON (prodda «free-form» yoʻq).
Поля: `timestamp`, `severity`, `service`, `trace_id`, `correlation_id`, `player_id_hash`, `event`, `amount`, `currency`, `ip_hash`.
PII maskalash/xeshlash, sezgir uchun alohida indekslar/retention.
Log payplaynlari: parsing → normallashtirish → boyitish (geo/ASN) → tahrir PII → indeksatsiya.

JSON voqealari misoli

json
{
"ts":"2025-11-05T10:42:31Z",
"sev":"ERROR",
"service":"payments-api",
"event":"psp_timeout",
"trace_id":"9c5e...e2",
"route":"pspX",
"duration_ms": 3100,
"attempt":2,
"player_id_hash":"p:1b7f...",
"pii_redacted":true
}

6) Trassalar: vaqt yo’qotiladigan joy

Spenlar: kirish so’rovi, provayderlar qo’ng’iroqlari (PSP/o’yin provayderlari), DB/kesh, xizmatlararo RPC.
’db. system`, `net. peer. name`, `messaging. system`, `psp. route`, `game. provider`.

Sampling:
  • hajm uchun head-based (ehtimoliy),
  • tail-based (shartlarga ko’ra: xatolar, p95 +, VIP-segment),
  • to’lov/PII-tanqidiy uchun guaranteed-keep.

7) Front va mobayl kuzatilishi

RUM: TTFB, FCP/LCP/CLS/INP, JS xatolari, tarmoqlar va SPA-routing.
Krash-reportlar: simvolizatsiya, deobfuskatsiya, bild versiyasi, qurilma/OS.
Sintetika: kirish/depozit/stavkalar stsenariylari; georaylab tekshirishlar.

8) SLO, SLI va xatolar budjeti

SLO misoli (psevdo-YAML)

yaml service: payments-api sli:
- name: availability expr: sum(rate(http_requests_total{status=~"2..    3.."}[5m]))
/ sum(rate(http_requests_total[5m]))
- name: latency_p95 expr: histogram_quantile(0. 95, rate(http_request_duration_seconds_bucket[5m]))
targets:
availability: "99. 9%/30d"
latency_p95: "<=250ms/30d"
error_budget_policy:
fast_burn: 5% for 1h -> page, freeze deploy slow_burn: 20% for 24h -> incident, improvement plan

Xatolar byudjeti bo’yicha alerting, «har bir metrika» bo’yicha emas.
Byudjet yonganda freeze-protseduralar: relizlar/kanareyani cheklash.

9) Shovqinsiz alerting

Multi-window, multi-burn qoidalari: qisqa/uzun oyna.
De-duplikatsiya/ruting: servislar/hududlar/on-call tanqidiyligi bo’yicha.
Runbook URL va kontekstni avtomatik tanlash (oxirgi deplolar, konfiguratsiyalarni oʻzgartirish, bogʻlanish grafigi).
Rejali ishlar vaqtida jim soatlar va bostirishlar.

Qoidalar misoli (PromQL g’oyasi)

promql alert: PaymentsSLOFastBurn expr: slo_error_rate_5m > 2 slo_budget_rate for: 15m labels: { severity="page", service="payments-api" }
annotations:
summary: "SLO fast burn"
runbook: "https://runbooks/payments/slo"

10) Profiling va eBPF

eBPF/profillar: CPU/alloc flame-grafalari, I/O-latentlik, tarmoq droplari, Syscall-anomaliyalar.
Tor joylar p99, «jitter» va kamdan-kam sovuqlarda foydalidir.

11) Biznes kuzatish (product & risk)

Moliya/monetizatsiya: depozitlarni konvertatsiya qilish, TTW (time-to-wallet), avtoriz ./settl, bekor qilish/chorjbeki.
O’yin faolligi: retenshn/strik, live-stavkalar ulushi, provayderlarning «yopishqoqligi».
Antifrod/abyuz: harakat tezligi, moslashuv/IP, korrelyatsiya.
RG-indikatorlar: uzoq muddatli sessiyalar, «dogon», bifteklarning o’sishi.
Biznes-metriklar texnometriklar va relizlar (annotation events) bilan bog’liq.

12) Xavfsizlik, PII va muvofiqlik

Data-zones: dataset/log teglari (’pii = true’,’region = EU’).
Indekslashdan oldin yashirish, identifikatorlarni taxalluslashtirish.
audit uchun WORM ombori; logga rolik kirish.
Saqlash muddatlari: texnloglar/audit/biznes uchun har xil.
Log’larda xom sirlarni taqiqlash; CIda tekshirish.

13) Qiymatni boshqarish (FinOps)

Kardinallik chegarasi: ehtiyot boʻling’user _ id’,’session _ id’.
Partiyalash/retenshn: issiq (7-14 kun), issiq (30-90), sovuq (arxiv).
Sampling trassasi (tail-based) va downsampling metrik.
Billing’team’,’service’,’tenant’taglari bo’yicha: «kuzatishni kim yoqadi» hisobotlari.

14) Instrumentar (referens-stek)

Metriklar: Prometheus/metriklar uchun leyk, Grafana dashbordlari.
Logi: Loki/ELK; ingestion qoidalari, reduction/parsing.
Treyslar: Tempo/Jaeger/OTel-kollektorlar; metriklardan exemplars-linkalar.
Sintetika: Blackbox eksportchisi, brauzer robotlari.
Alerting: Alertmanager/chat integratsiyasi, on-call rotatsiyasi.
Profiling: eBPF/continuous profiling.

15) Misollar: (a) API uchun RED eksportchisi (psevdokod):
python from prometheus_client import Counter, Histogram, start_http_server reqs = Counter('http_requests_total','', ['route','method','status'])
lat = Histogram('http_request_duration_seconds','', ['route'])
def handle(req):
with lat. labels(route=req. route). time():
status = app(req)
reqs. labels(route=req. route,method=req. method,status=str(status)). inc()
(b) trace_id loglarga joylashtirish (middleware-g’oya):
go tid:= ctx. Value("trace_id")
logger = logger. With("trace_id", tid)
logger. Info("deposit-accepted", "amount", amt, "route", route)
(c) Metriklardagi nusxalar (exemplars):
prometheus http_request_duration_seconds_bucket{..., le="0. 25"} 1023 # exemplar: trace_id=9c5e...

16) Jarayonlar va operatsiyalar

Metrik/yorliqlarning yagona lug’ati (naming-guide) va dashbord namunasi.
Release-annotations avtomat bilan grafalarda.
Hodisalar: kartochka, taymline, ayblovsiz RCA, action items.
O’quv tashvishlari («game-day»): yiqilishni taqlid qilish, PSP kechikishlari, keshning haddan tashqari qizib ketishi.
Runbooks: Alertlardan bosqichma-bosqich koʻrsatmalar va avtoilovalar.

17) Voyaga yetganlik chek-varaqasi

1. OTel SDK/kollektor → metrik/loglar/treyslarning yagona eksporti.
2. RED/USE barcha xizmatlarni + SLI/SLO asosiy API bilan qoplaydi.
3. ’trace _ id’ korrelyatsiyasi ⇄ metrika ⇄ (exemplars, jump-links).
4. Multi-burn va runabuk-havolalar bilan xatolar budjeti bo’yicha alertlar.
5. RUM + sintetika «depozit/stavka/chiqarish».
6. Oq ro’yxat bo’yicha profil (eBPF).
7. PII-siyosati: niqoblash, zonalar, kirish, saqlash muddatlari.
8. Telemetriya qiymati bo’yicha moliyaviy hisobot (teglar’team/service’).
9. «Eng yuqori yuklamaga tayyorlik»: test-reja, keshlarni isitish, alert-shablonlar.
10. Muntazam RCA va SLO/chegaralarni qayta ko’rib chiqish.

18) Antipatternlar

Tuzilishsiz choyshablar va’trace _ id’.
Har bir metrika bo’yicha alertlar → alert-fetIg.
Gistogrammalar to’g "ri baketalarsiz →" yassi "p95.
Yorliqlarning cheklanmagan kardinalligi → qiymatning portlashi.
RUM/sintetika yo’qligi - «hammasi yaxshi», foydalanuvchi esa yo’q.
PII ni texnloglar bilan aralashtirish, cheksiz retensiya.
Telemetriyani biznes-KPIdan ajratish - «yashirlik pasayadi, daromad ham tushadi».

Yakunlar

Kuchli kuzatish - bu mahsulot, SRE, xavfsizlik va to’lovlar o’rtasidagi umumiy til. O’Tel ostidagi metriklar, loglar, trassalarni bog’lab, SLOni xato byudjeti bilan kiritib, alertingni aqlli va boshqariladigan narxga aylantirganingizda, siz ilgari muammolarni sezadigan, tezroq tiklanadigan va traffik cho’qqilari va turnir yuklaridan o’tadigan tizimni olasiz.

Contact

Biz bilan bog‘laning

Har qanday savol yoki yordam bo‘yicha bizga murojaat qiling.Doimo yordam berishga tayyormiz.

Telegram
@Gamble_GC
Integratsiyani boshlash

Email — majburiy. Telegram yoki WhatsApp — ixtiyoriy.

Ismingiz ixtiyoriy
Email ixtiyoriy
Mavzu ixtiyoriy
Xabar ixtiyoriy
Telegram ixtiyoriy
@
Agar Telegram qoldirilgan bo‘lsa — javob Email bilan birga o‘sha yerga ham yuboriladi.
WhatsApp ixtiyoriy
Format: mamlakat kodi va raqam (masalan, +998XXXXXXXX).

Yuborish orqali ma'lumotlaringiz qayta ishlanishiga rozilik bildirasiz.