GH GambleHub

Телеметрия жана окуяларды чогултуу

1) Максаты жана принциптери

Максаттары:
  • аналитика, antifrode, RG, комплаенс жана ML үчүн бирдиктүү жана алдын ала иш-чаралар агымы.
  • жол аркылуу (user/session/request/trace) жана ойнотуу.
  • PII минималдаштыруу жана купуялык талаптарына жооп.

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

2) Окуялардын таксономиясы

Төлөм: 'payment. deposit`, `payment. withdrawal`, `payment. chargeback`.
Оюн: 'game. session_start/stop`, `game. bet`, `game. payout`, `bonus. applied`.
Колдонуучулар: 'auth. login`, `profile. update`, `kyc. status_changed`, `rg. limit_set`.
Операциялык: 'api. request`, `error. exception`, `release. deploy`, `feature. flag_changed`.
Комплаенс: 'aml. alert_opened`, `sanctions. screened`, `dsar. requested`.

Ар бир түрү ээси бар (домен owner), схема жана SLO сергектик.

3) Схемалар жана келишимдер

Милдеттүү талаалар (минималдуу):
  • `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.`.
Мисал (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"}
}

Схемалардын эволюциясы: семантикалык версиялар; backward-compatible - nullable талаа кошуу; breaking - жаңы нускасында гана ('/v2 ') кош жазуу мөөнөтү менен.

4) Instrumentation: кайда жана кантип

4. 1 кардар (Web/Mobile/Desktop)

жергиликтүү буфер менен SDK телеметрия, batch-жөнөтүү, экспоненциалдык Retry.
Auto-окуялар: иш сапарлары, чыкылдатуу, блоктордун көрүнүшү, web-vitals (TTFB, LCP, CLS), JS каталар.
ID: 'device _ id' (туруктуу, бирок жеке менчик), 'session _ id' (жаңыланып), 'user. pseudo_id`.
"Ызы-чуудан" коргоо: дедуп 'event _ id', троттлинг, client-side sampling.

4. 2 Server/Backend

Logger/Tracer (OpenTelemetry) → домендик окуялардын эмити.
Милдеттүү түрдө 'trace _ id' бардык downstream кызматтарына edge/gateway.
Домендик окуяларды транзакциялык жарыялоо үчүн Outbox үлгүсү.

4. 3 Провайдерлер/үчүнчү жактар

Коннекторлор (PSP/KYC/студия) ЭЭМ үчүн нормалдаштыруу менен; версиялык адаптерлер.
Кол коюу/payload бүтүндүгүн текшерүү, периметри журналисттик (ingest audit).

5) OpenTelemetry (OTel)

Traces: ар бир суроо-талап 'trace _ id' алат; 'trace _ id '/' span _ id' аркылуу логиндерди/окуяларды байланыштырабыз.
Logs: OTel Logs/Converter колдонот; 'service чөйрөсүнүн белгилери. name`, `deployment. env`.
Метрика: RPS/latency/error-rate боюнча кызматтар, бизнес-метрика (GGR, конверсия).
Collector: бирдиктүү кабыл алуу чекити/буфер/экспорт үчүн Kafka/HTTP/graph. стек.

6) Идентификаторлор жана корреляция

'event _ id' - уникалдуулук жана демпотенттүүлүк.
`user. pseudo_id' - туруктуу псевдонимдештирүү (өзүнчө жана чектелген).
'session _ id', 'request _ id', 'trace _ id', 'device _ id' - аркылуу талдоо үчүн милдеттүү.
API-шлюз жана SDK деъгээлинде ID ырааттуулугу.

7) семплирлөө жана көлөмүн контролдоо

Эрежелер: per-event-type, per-market, динамикалык (ылайыкташтырылган) жүк.
Так алынып салынган окуялар: төлөм/комплаенс/инциденттер - төлөнбөйт.
Аналитикалык окуялар: 10-50% терезелерде түзөтүүчү таразалар менен жол берилет.
Server-side downsampling: Мисалы, жогорку-frequency метр үчүн.

8) Купуялык жана комплаенс

PII минималдаштыруу: токенизациялоо PAN/IBAN/email; IP → гео-коддору/ASN ingest.
Региондоштуруу: регионалдык ingest-endpoints (EEA/UK/BR) жөнөтүү.
DSAR/RTBF: тандалма жашыруун проекцияларды колдоо; укуктук операциялар журналы.
Сактоо саясаты: түрү боюнча мөөнөтү (аналитика кыска, жөнгө узак); Legal Hold.

9) Транспорт жана буферизация

Кардар → Edge: HTTPS (HTTP/2/3), 'POST/telemetry/batch' (100 окуяга чейин).
Edge → Шин: Kafka/Redpanda 'user партиялаштыруу менен. pseudo_id`/`tenant_id`.
Форматтар: JSON (ingest), Euro/Protobuf (шинада), Parquet (lake).
Ишенимдүүлүк: jitter, DLQ, poison-pill изоляциясы менен ретрациялоо.

Спецификация batch (жөнөкөйлөштүрүлгөн):
json
{
"sdk": {"name":"igsdk-js","version":"2. 7. 1"},
"sent_at": "2025-11-01T18:45:12. 500Z",
"events": [ {... }, {... } ]
}

10) Ишенимдүүлүк жана туруктуулук

Client-generated 'event _ id' + сервердик дедуп '(event_id, source)'.
Outbox кызматтарда, Exactly-Once-семантика агымдарында (keyed state + dedupe).
Ачкычтын ичиндеги тартип: 'user/session' боюнча партиялаштыруу.
Time Control: NTP/PTP, жол-жоболоштуруу (мисалы, ≤ 200 ms), 'received _ at' серверинде.

11) Telemetry сапаты (TQ) жана SLO

Completeness: ≥ 99. 5% T. үчүн маанилүү түрлөрү окуялар

Freshness: p95 Silver жеткирүү кечигүү ≤ 15 мин.
Correctness: valid схемалар ≥ 99. 9%, drop-rate < 0. 1%.
Trace coverage: 'trace _ id' менен суроо-талаптардын үлүшү 98% ≥.
Cost/GB: максаттуу бюджет Ингест/домен сактоо.

12) Байкоо жана дашборддор

Минималдуу виджеттер:
  • Лаг ingest (p50/p95) булактары жана аймактары боюнча.
  • окуялардын жана рыноктордун түрлөрү боюнча Completeness.
  • Схема валидация каталары/oversized-payloads.
  • SDK версия картасы жана эскирген кардарлардын пайызы.
  • Корреляция web-vitals, конверсия/мүчүлүштүктөр.

13) Кардарлар SDK: талаптар

Easy footprint, оффлайн-буфер, кийинкиге калтырылган инициализация.
Sampling, max batch size, max queue age, privacy-мода (no-PII).
Коргоо: кол топтомун/анти-тамгер, ачкычтар.
Жаңыртуу: ызы-чуу окуяларды өчүрүү үчүн feature-желектер.

14) Edge катмары жана коргоо

Rate limit, WAF, schema validation, кысуу (gzip/br).
Токен bucket боюнча кардар; анти-replay ('request _ id', TTL).
IP жана UA → нормалдаштыруу/" чийки "payload тышкары байытуу алып салуу.

15) Маалымат конвейери менен интеграция

Bronze: кайтарылгыс кошумча чийки payload (forensics үчүн).
Silver: Дедуп/байытуу менен нормалдаштырылган таблицалар.
Алтын: BI/AML/RG/продукт үчүн терезелер.
Окуялар менен отчеттордун ортосундагы сызык; трансформациялоонун версиялары.

16) Кардарлардын сапатын талдоо

"Тынч кардарлардын" коэффициенти (N саат үчүн эч кандай окуя жок).
"Бороондун" аномалиялары (mass duplicate/burst).
Версиялар жана платформалар боюнча "эскирген SDK" үлүшү.

17) Процесстер жана RACI

R: Data Platform (ingest/шиналар/валидаторлор), App Teams (SDK аспаптары).
A: Head of Data/Architecture.
C: Compliance/DPO (PII/retention), SRE (SLO/окуялар).
I: BI/Маркетинг/Тобокелдик/Продукт.

18) Ишке ашыруунун жол картасы

MVP (2-4 жума):

1. 6-8 түрлөрү үчүн v1 + JSON схемасы окуялардын таксономиясы.

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

3. Kafka + Bronze катмары; негизги валидаторлор жана дедуп.

4. Dashbord ingest lag/completeness, drop/валидатор боюнча алерттар.

2-этап (4-8 жума):
  • OTel Collector, Trace-корреляция; Күмүш-нормалдаштыруу жана DQ эрежелери.
  • Аймактык EndPoints (EEA/UK), privacy-мода, DSAR/RTBF жол-жоболору.
  • SDK Version карта, шакек боюнча auto-rollout жаңыртуулар.
Этап 3 (8-12 жума):
  • агымдарында Exactly-Once, Feature Store байланыштар, AntiFrod Online Fids.
  • Схемалар жана валидаторлор, өзгөрүүлөрдү симуляциялоо (impact analysis) үчүн Rule-as-Code.
  • наркы оптималдаштыруу: adaptive sampling, Z-order/lake кластерлештирүү.

19) бошотулганга чейин сапатын текшерүү

  • Схеманын милдеттүү талаалары жана туура түрлөрү толтурулган.
  • 'trace _ id '/' request _ id '/' session _ id' бар.
  • SDK batch, retry, sampling колдойт.
  • Edge схеманы тастыктайт жана төлөм өлчөмүн чектейт.
  • Купуялык-чыпкалар жана сезгич талааларды токенизациялоо кирет.
  • Setted SLO/Alerts жана Dashboard.
  • Домендер үчүн документтер (мисалы, окуя, ички, SLA).

20) Көп каталар жана аларды алдын алуу үчүн кантип

чийки схемалар жок окуялар: каттоо жана CI-validation киргизүү.
Демпотенттик жок: 'event _ id' талап жана чоң атаңыздын терезелерин сактоо.
PII жана аналитика аралаштыруу: Mappings бөлүп, талааларды жашыруу.
Trace жоктугу: 'trace _ id' gateway аркылуу → кызматтар → окуялар.
Башкарылбаган көлөмдөр: sampling/trrottling жана budget-квоталарды колдонуу.
Аймактарсыз Global endpoint: региондоштурууну жана data residency колдонуңуз.

21) Глоссарий (кыскача)

OpenTelemetry (OTel) - соодагерлер/метриктер/логдор үчүн ачык стандарт.
Outbox - домендик окуялардын транзакциялык жарыялоо.
DLQ - "сынган" билдирүүлөрдүн кезеги.
Sampling - көлөмүн азайтуу үчүн окуялардын бир бөлүгүн тандоо.
Data Residency - маалыматтарды керектүү юрисдикцияда сактоо.

22) Жыйынтык

Жакшы иштелип чыккан телеметрия - бул жөн гана "логин жөнөтүү" эмес, келишимдер: катуу схемалар, макулдашылган идентификаторлор, демейки купуялуулук, ишенимдүү транспорт, байкоо жана үнөмдүү наркы. Бул макаланы ээрчип, сиз алдын ала SLO менен аналитика, комплаенс жана машина үйрөнүүгө даяр окуялардын туруктуу агымын аласыз.

Contact

Биз менен байланышыңыз

Кандай гана суроо же колдоо керек болбосун — бизге кайрылыңыз.Биз дайым жардам берүүгө даярбыз!

Интеграцияны баштоо

Email — милдеттүү. Telegram же WhatsApp — каалооңузга жараша.

Атыңыз милдеттүү эмес
Email милдеттүү эмес
Тема милдеттүү эмес
Билдирүү милдеттүү эмес
Telegram милдеттүү эмес
@
Эгер Telegram көрсөтсөңүз — Emailден тышкары ошол жактан да жооп беребиз.
WhatsApp милдеттүү эмес
Формат: өлкөнүн коду жана номер (мисалы, +996XXXXXXXXX).

Түшүрүү баскычын басуу менен сиз маалыматтарыңыздын иштетилишине макул болосуз.