GH GambleHub

Telemetriýa we wakalary ýygnamak

1) Bellenilmegi we ýörelgeleri

Maksatlar:
  • Analitika, antifrod, RG, laýyklyk we ML üçin wakalaryň ýeke-täk we öňünden aýdyp boljak akymy.
  • Yzarlamak (user/session/request/trace) we köpeltmek.
  • PII-ni minimallaşdyrmak we gizlinlik talaplaryna laýyk gelmek.

Принципы: schema-first, privacy-by-design, idempotency-by-default, observability-by-default, cost-aware.

2) Wakalaryň taksonomiýasy

Töleg: 'payment. deposit`, `payment. withdrawal`, `payment. chargeback`.
Oýun: 'game. session_start/stop`, `game. bet`, `game. payout`, `bonus. applied`.
Ulanyjy: 'auth. login`, `profile. update`, `kyc. status_changed`, `rg. limit_set`.
Operasiýa: 'api. request`, `error. exception`, `release. deploy`, `feature. flag_changed`.
Utgaşma: 'aml. alert_opened`, `sanctions. screened`, `dsar. requested`.

Her görnüşiň eýesi (domain owner), shemasy we SLO täzeligi bar.

3) Shemalar we şertnamalar

Hökmany meýdanlar:
  • `event_time` (UTC), `event_type`, `schema_version`, `event_id` (UUID/ULID),
  • `trace_id`/`span_id`, `request_id`, `user. pseudo_id`, `session_id`,
`source` (clientserverprovider), `market` (jurisdiction), `labels.`.
Mysal (JSON):
json
{
"event_id": "01HFY1S93R8X",
"event_time": "2025-11-01T18:45:12. 387Z",
"event_type": "game. bet",
"schema_version": "1. 4. 0",
"user": {"pseudo_id": "p-7a2e", "age_band": "25-34", "country": "EE"},
"session": {"id": "s-2233", "device_id": "d-9af0"},
"game": {"id": "G-BookOfX", "provider": "StudioA", "stake": {"value": 2. 00, "currency": "EUR"}},
"ctx": {"ip": "198. 51. 100. 10", "trace_id": "f4c2...", "request_id": "req-7f91"},
"labels": {"market": "EE", "affiliate": "A-77"}
}

Shemalaryň ewolýusiýasy: semantik wersiýalar; backward-compatible - nullable meýdanlary goşýarys; breaking - diňe goşa ýazgy döwri bilen täze wersiýada ('/v2 ').

4) Instrumentasiýa: nirede we nädip

4. 1 Müşderi (Web/Mobile/Desktop)

Ýerli buferli SDK telemetriýa, batch-iberiş, eksponensial retralar.
Awto-wakalar: saparlar, basmalar, bloklaryň görünmegi, web-witals (TTFB, LCP, CLS), JS ýalňyşlyklary.
Identifikatorlary: 'device _ id' (durnukly, ýöne şahsy), 'session _ id' (täzelenýär), 'user. pseudo_id`.
"Seslerden" gorag: 'event _ id', trottling, client-side sampling.

4. 2 Serwer/bölek

Logger/traiser örtükleri (OpenTelemetry) → domen hadysalarynyň emiti.
edge/gateway-den 'trace _ id' -ni ähli downstream hyzmatlaryna geçirmek hökmanydyr.
Domen wakalaryny geçirmek üçin Outbox-pattern.

4. 3 Üpjün edijiler/üçünji taraplar

Konnektorlar (PSP/KYC/studiýalar) host shemalaryna kadalaşýar; wersiýa adapterleri.
Gol/payload bitewiligini barlamak, perimetriň žurnalizmi (ingest audit).

5) OpenTelemetry (OTel)

Söwda: Her haýyş 'trace _ id' alýar; logleri/wakalary 'trace _ id '/' span _ id' arkaly baglanyşdyrýarys.
Logs: OTel Logs/öwrüjileri ulanýarys; 'service gurşawynyň bellikleri. name`, `deployment. env`.
Metrikler: RPS/latency/error-rate boýunça hyzmatlar, iş metrikleri (GGR, öwrülişik).
Collector: Kabul ediş nokady/bufer/Kafka eksport/HTTP/grafik. stek.

6) Kesgitleýjiler we korrelýasiýa

'event _ id' - özboluşlylyk we idempotentlik.
`user. pseudo_id' - durnukly lakamlaşdyrma (aýratyn we çäkli).
'session _ id', 'request _ id', 'trace _ id', 'device _ id' - ahyrky derňew üçin hökmanydyr.
API-şlýuz we SDK derejesinde ID utgaşdyrylmagy.

7) Semplemek we göwrümine gözegçilik etmek

Düzgünler: per-event-type, per-market, ýük boýunça dinamiki (uýgunlaşdyryjy).
Takyk alnan wakalar: töleg/komplayens/hadysalar - tölenmeýär.
Analitik wakalar: penjirelerde düzediş agramlary bilen 10-50% ýol berilýär.
Server-side downsampling: high-frequency metrik üçin mysal üçin.

8) Gizlinlik we gabat gelmek

PII-ni minimallaşdyryň: PAN/IBAN/e-poçtany belläň; IP → geo-kodlar/ASN ingest.
Sebitleşdirmek: sebitleýin ingest-endpointlere (EEA/UK/BR) iberiň.
DSAR/RTBF: proýeksiýalaryň saýlanyp gizlenmegini goldamak; hukuk amallarynyň žurnaly.
Saklamak syýasaty: görnüşi boýunça möhletler (analitika gysga, düzgünleşdiriji has uzyn); Legal Hold.

9) Ulag we buferizasiýa

Müşderi → Edge: HTTPS (HTTP/2/3), 'POST/telemetry/batch' (100 çärä çenli).
Edge → Şina: Kafka/Redpanda. pseudo_id`/`tenant_id`.
Formatlar: JSON (ingest), Euro/Protobuf (tekerde), Parquet (lake).
Ygtybarlylyk: jitter, DLQ, poison-pill izolýasiýa bilen retraýalar.

Batch spesifikasiýasy (ýönekeýleşdirilen):
json
{
"sdk": {"name":"igsdk-js","version":"2. 7. 1"},
"sent_at": "2025-11-01T18:45:12. 500Z",
"events": [ {... }, {... } ]
}

10) Ygtybarlylyk we idempotentlik

Client-generated 'event _ id' + serwer dedup '(event_id, source)'.
Hyzmatlarda Outbox, akymlarda Exactly-Once semantika (keyed state + dedupe).
Açaryň çägindäki tertip: 'user/session' boýunça partiýa ýerleşdirmek.
Wagt gözegçiligi: NTP/PTP, rugsat edilýän süýşme (mysal üçin ≤ 200 ms), serwerde 'received _ at'.

11) Telemetriýanyň hili (TQ) we SLO

Completeness: ≥ 99. T. üçin möhüm wakalaryň 5% -i.
Freshness: p95 Silver-a eltmegiň gijikdirilmegi ≤ 15 minut.
Correctness: tassyklanan shemalar ≥ 99. 9%, drop-rate < 0. 1%.
Trace coverage: 'trace _ id' -den soraglaryň paýy 98% ≥.
Cost/GB: domen boýunça ingest/saklamak üçin maksatly býudjet.

12) Gözegçilik etmek we daşbordlar

Iň az widget:
  • Lag ingest (p50/p95) çeşmeler we sebitler boýunça.
  • Wakalaryň we bazarlaryň görnüşleri boýunça Completeness.
  • Shemalary tassyklamakda ýalňyşlyklar/oversized-payloads.
  • SDK wersiýalarynyň kartoçkasy we köne müşderileriň göterimi.
  • Web-vitals öwrülişik/şowsuzlyklar.

13) Müşderi SDK: talaplar

Ýeňil footprint, awtonom bufer, gijikdirilen başlangyç.
Sazlamalar: sampling, max batch size, max queue age, privacy-modes (no-PII).
Gorag: paket/anti-tamper goly, açar gaplamasy.
Täzelenmek: şowhunly wakalary öçürmek üçin feature-baýdaklar.

14) Kenar gatlagy we gorag

Rate limit, WAF, schema validation, gysyş (gzip/br).
Müşderä token bucket; anti-replay ('request _ id', TTL).
IP we UA aýyrmak → "çig" tölegden daşarda kadalaşdyrmak/baýlaşdyrmak.

15) Maglumatlaryň konweýeri bilen integrasiýa

Bronze: yzyna gaýtaryp bolmajak-goşmaça çig payload (forensika üçin).
Silver: deadup/baýlaşdyryş bilen kadalaşdyrylan tablisalar.
Altyn: BI/AML/RG/önüm üçin penjireler.
Wakalaryň we hasabatlaryň arasyndaky linej; transformasiýa wersiýasy.

16) Müşderiniň hiliniň seljermesi

"Sessiz müşderileriň" koeffisiýenti (N sagat üçin waka ýok).
"Tupan" anomaliýalary (mass duplicate/burst).
Wersiýalar we platformalar boýunça "köne SDK" paýy.

17) Amallar we RACI

R: Data Platform (ingest/teker/tassyklaýjylar), App Teams (SDK gurallary).
A: Head of Data/Architecture.
C: Compliance/DPO (PII/retention), SRE (SLO/hadysalar).
I: BI/Marketing/Töwekgelçilik/Önüm.

18) Durmuşa geçirmegiň ýol kartasy

MVP (2-4 hepde):

1. 6-8 görnüşli wakalaryň taksonomiýasy v1 + JSON-shemalar.

2. SDK (Web/Android/iOS) с batch и sampling; Edge `/telemetry/batch`.

3. Kafka + Bronze gatlagy; esasy walidatorlar we dedup.

4. Daşbord ingest lag/completeness, drop/walidator üçin alertler.

2-nji faza (4-8 hepde):
  • OTel Collector, söwda-baglanyşyk; Kümüş kadalaşma we DQ düzgünleri.
  • Sebitleýin endpointler (EEA/UK), privacy-modalar, DSAR/RTBF amallary.
  • SDK wersiýalarynyň kartoçkasy, halkalar boýunça awto-rollout täzelenmeleri.
3-nji faza (8-12 hepde):
  • Akymlar boýunça "Exactly-Once", "Feature Store Connection", "Anti-frod Online".
  • Shemalar we tassyklaýjylar, üýtgeşmeler simulýasiýasy (impact analysis) üçin Rule-as-Code.
  • Gymmaty optimizirlemek: adaptive sampling, Z-order/lake klaster.

19) Goýberilmezden öň hiliň çek-sanawy

  • Shemanyň hökmany meýdanlary we dogry görnüşleri dolduryldy.
  • 'trace _ id '/' request _ id '/' session _ id' bar.
  • SDK batch, retry, sampling.
  • Edge shema tassyklaýar we töleg mukdaryny çäklendirýär.
  • Gizlinlik-süzgüçler we duýgur meýdanlaryň bellikleri girizildi.
  • SLO/alertler we daşbordlar sazlandy.
  • Domenler üçin resminamalar (wakanyň mysaly, owner, SLA).

20) Ýygy-ýygydan ýalňyşlyklar we olardan nädip gaça durmaly

Çig wakalar: registry we CI-tassyklamany giriziň.
Idempotentlik ýok: 'event _ id' -ni talap ediň we atamyň penjirelerini saklaň.
PII we analitikleriň garyşmagy: mappingleri aýyryň, meýdanlary gizläň.
Traýsingiň ýoklugy: 'trace _ id' gateway → hyzmatlar → wakalar arkaly goýuň.
Dolandyrylmadyk göwrümler: sampling/trrottling we budget-kwotalary ulanyň.
Sebitsiz global endpoint: sebitleşdirme we data residency ulanyň.

21) Sözlük (gysgaça)

OpenTelemetry (OTel) - treýs/metrik/loglar üçin açyk standart.
Outbox - domen wakalarynyň geleşik neşiridir.
DLQ - "döwülen" habarlaryň nobaty.
Sampling - göwrümi azaltmak üçin wakalaryň bir bölegini saýlamak.
Data Residency - maglumatlary zerur ýurisdiksiýada saklamak.

22) Jemleýji

Gowy dizaýn edilen telemetriýa diňe bir "loglary ibermek" däl-de, ylalaşykdyr: berk shemalar, ylalaşylan kesgitleýjiler, adaty gizlinlik, ygtybarly ulag, gözegçilik we tygşytly çykdajy. Bu makalany yzarlamak bilen, öňünden aýdylýan SLO bilen analitika, ylalaşyk we maşyn okuwyna taýyn wakalaryň durnukly akymyny alarsyňyz.

Contact

Biziň bilen habarlaşyň

Islendik sorag ýa-da goldaw boýunça bize ýazyp bilersiňiz.Biz hemişe kömek etmäge taýýar.

Integrasiýany başlamak

Email — hökmany. Telegram ýa-da WhatsApp — islege görä.

Adyňyz obýýektiw däl / islege görä
Email obýýektiw däl / islege görä
Tema obýýektiw däl / islege görä
Habar obýýektiw däl / islege görä
Telegram obýýektiw däl / islege görä
@
Eger Telegram görkezen bolsaňyz — Email-den daşary şol ýerden hem jogap bereris.
WhatsApp obýýektiw däl / islege görä
Format: ýurduň kody we belgi (meselem, +993XXXXXXXX).

Düwmäni basmak bilen siz maglumatlaryňyzyň işlenmegine razylyk berýärsiňiz.