Телеметрия жана окуяларды чогултуу
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`,
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 изоляциясы менен ретрациялоо.
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 жаңыртуулар.
- агымдарында 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 менен аналитика, комплаенс жана машина үйрөнүүгө даяр окуялардын туруктуу агымын аласыз.