GH GambleHub

تله متری و جمع آوری رویداد

1) اهداف و اصول

اهداف:
  • جریان رویداد تک و قابل پیش بینی برای تجزیه و تحلیل، ضد تقلب، RG، انطباق و ML.
  • ردیابی انتها به انتها (کاربر/جلسه/درخواست/ردیابی) و تکرارپذیری.
  • PII به حداقل رساندن و رعایت حریم خصوصی.

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

2) طبقه بندی رویدادها

پرداخت: "پرداخت. سپرده، پرداخت. برداشت، پرداخت. پس گرفتن پول.
بازی: "بازی. session_start/stop'، بازی. شرط میبندم، بازی. پرداخت، پاداش. به کار برد.
سفارشی: "وارد شوید"، "مشخصات. به روز رسانی '،' kyc. status_changed'، آ ره. limit_set' است.
اتاق های عمل: 'api. درخواست '،' خطا. استثنا '،' آزادی. اعزام '،' ویژگی. flag_changed' است.
پذیرش: AML. alert_opened'، تحریمها. نمایش داده شد، dsar. درخواست کرد.

هر نوع دارای یک صاحب دامنه، یک طرح و یک 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):
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"}
}

تکامل طرح ها: نسخه های معنایی ؛ سازگار با عقب - اضافه کردن زمینه های nullable ؛ breaking - فقط در نسخه جدید ('/v2 ') با یک دوره ضبط دوگانه.

4) ابزار دقیق: کجا و چگونه

4. 1 مشتری (وب/موبایل/دسکتاپ)

SDK فاصله سنجی بافر محلی، ارسال دسته ای، بازپخش نمایی.
رویدادهای خودکار: بازدید، کلیک، دید بلوک ها، وب سایت های حیاتی (TTFB، LCP، CLS)، خطاهای JS.
شناسه ها: "device _ id" (پایدار، اما خصوصی)، "session _ id" (به روز شده)، "کاربر. pseudo_id' است.
حفاظت در برابر «سر و صدا»: dedup توسط «event _ id»، throttling، نمونه برداری از طرف مشتری.

4. 2 سرور/پشتی

لفاف های Logger/tracer (OpenTelemetry) → انتشار رویداد دامنه.
پرتاب اجباری 'trace _ id' از لبه/دروازه به تمام خدمات پایین دست.
الگوی جعبه خروجی برای انتشار معاملات رویدادهای دامنه.

4. 3 ارائه دهندگان/اشخاص ثالث

اتصالات (PSP/KYC/استودیوها) با عادی سازی مدارهای میزبان ؛ آداپتورهای نسخه.
امضا/بررسی یکپارچگی payload، ورود به سیستم محیط (ممیزی مصرف).

5) تله متری باز (OTel)

ردپاها: هر درخواست یک «trace _ id» دریافت میکند ؛ ما سیاهههای مربوط/رویدادها را از طریق 'trace _ id '/' span _ id' مرتبط می کنیم.
سیاهههای مربوط: استفاده از OTel سیاهههای مربوط/مبدل ؛ خدمات برچسب های محیط زیست. نام، استقرار. در مورد...
معیارها: RPS/تأخیر/نرخ خطا توسط سرویس، معیارهای تجاری (GGR، تبدیل).
گردآورنده: تنها نقطه دریافت/بافر/صادرات به کافکا/HTTP/گرافیک. پشته.

6) شناسه ها و همبستگی

«event _ id» - منحصر به فرد و idempotence.
استفاده کننده pseudo_id' - aliasing پایدار (نقشه برداری به طور جداگانه و محدود).
«session _ id»، «request _ id»، «trace _ id»، «device _ id» برای تجزیه و تحلیل پایان به پایان مورد نیاز است.
سازگاری ID در دروازه API و سطح SDK.

7) نمونه برداری و کنترل حجم

قوانین: در هر رویداد نوع، در هر بازار، پویا (سازگار) توسط بار.
رویدادهای دقیق گرفته شده: پرداخت/انطباق/حوادث - نمونه برداری نشده است.
رویدادهای تحلیلی: 10-50٪ با وزن اصلاحی در موارد نمایش مجاز است.
Downsampling سمت سرور: برای معیارهای فرکانس بالا معتبر است.

8) حفظ حریم خصوصی و انطباق

به حداقل رساندن PII: نشانه گذاری PAN/IBAN/ایمیل ؛ IP → کدهای جغرافیایی/ASN هنگام مصرف.
منطقه بندی: ارسال به نقاط انتهایی منطقه ای (EEA/UK/BR).

DSAR/RTBF: پشتیبانی از پنهان کردن طرح انتخابی ؛ ثبت معاملات قانونی

سیاست های نگهداری: زمان بندی بر اساس نوع (تجزیه و تحلیل کوتاه تر، نظارتی طولانی تر) ؛ حقوقی نگه دارید.

9) حمل و نقل و بافر

→ مشتری لبه: HTTPS (HTTP/2/3)، 'POST/telemetry/batch' (تا رویدادهای 100).
لبه → تایر: کافکا/Redpanda تقسیم شده توسط کاربر. pseudo_id'/'tenant_id' است.
فرمت ها: JSON (مصرف)، Avro/Protobuf (در اتوبوس)، پارکت (در دریاچه).
قابلیت اطمینان: retrai با لرزش، DLQ، جداسازی قرص سمی.

مشخصات دسته ای (ساده شده):
json
{
"sdk": {"name":"igsdk-js","version":"2. 7. 1"},
"sent_at": "2025-11-01T18:45:12. 500Z",
"events": [ {... }, {... } ]
}

10) قابلیت اطمینان و idemotency

«event _ id» تولید شده توسط مشتری + پدربزرگ سرور توسط «(event_id، منبع)».
جعبه خروجی در خدمات، دقیقا یک بار معنایی در موضوعات (حالت کلید + dedupe).
سفارش در کلید: تقسیم بر 'کاربر/جلسه'.
کنترل زمان: NTP/PTP، رانش مجاز (به عنوان مثال، ≤ 200 میلی ثانیه)، 'received _ at' در سرور.

11) کیفیت تله متری (TQ) و SLO

کیفیت: ≥ 99 5٪ از حوادث نوع بحرانی در هر T.
تازگی: تاخیر تحویل p95 به نقره ≤ 15 دقیقه.
صحت: طرح های معتبر ≥ 99. 9٪، نرخ افت <0. 1%.
پوشش ردیابی: درصد درخواست با 'trace _ id' 98٪ ≥.
هزینه/GB: بودجه هدف برای مصرف/ذخیره سازی توسط دامنه.

12) قابلیت مشاهده و داشبورد

حداقل عناصر:
  • تاخیر مصرف (p50/p95) توسط منبع و منطقه.
  • کامل بودن بر اساس نوع رویداد و بازار
  • خطاهای اعتبارسنجی طرحهای/بارهای بزرگ.
  • نقشه نسخه SDK و درصد مشتریان میراث.
  • ارتباط حیاتی وب ↔ تبدیل/شکست.

13) مشتری SDK مورد نیاز

رد پای نور، بافر آفلاین، مقدار اولیه معوق.
تنظیمات: نمونه برداری، حداکثر اندازه دسته، حداکثر سن صف، مد حفظ حریم خصوصی (بدون PII).
حفاظت: امضای بسته/ضد دستکاری، انسداد کلیدی.
بروز رسانی: ویژگی های پرچم برای غیر فعال کردن رویدادهای پر سر و صدا.

14) لایه لبه و حفاظت

محدودیت نرخ، WAF، اعتبار سنجی طرح، فشرده سازی (gzip/br).
سطل نشانه در هر مشتری ؛ ضد پخش ('request _ id', TTL).
حذف IP و UA → عادی سازی/غنی سازی خارج از بار «خام».

15) ادغام با خط لوله داده

برنز: بار اضافه شده خام غیرقابل برگشت (برای پزشکی قانونی).
نقره ای: جداول نرمال با deduplication/غنی سازی.
طلا: موارد نمایش برای BI/AML/RG/محصول.

پیوند بین رویدادها و گزارشها ؛ نسخه های تبدیل

16) تجزیه و تحلیل کیفیت مشتری

نسبت مشتری آرام (بدون رویداد در N ساعت).
ناهنجاری از «طوفان» (تکراری جرم/پشت سر هم).
سهم «SDK های میراث» بر اساس نسخه و پلت فرم.

17) فرآیندها و RACI

R: پلت فرم داده (مصرف/اتوبوس/اعتبار سنج)، تیم برنامه (ابزار SDK).
A: رئیس داده/معماری.
C: انطباق/DPO (PII/احتباس)، SRE (SLO/حوادث).
I: BI/بازاریابی/ریسک/محصول.

18) پیاده سازی نقشه راه

MVP (2-4 هفته):

1. طبقه بندی رویداد طرح v1 + JSON برای انواع 6-8.

2. SDK (وب/Android/iOS) с نمونه برداری и دسته ای ؛ لبه '/تله متری/دسته ای '.

3. لایه کافکا + برنز ؛ اعتبار سنج اصلی و dedup.

4. تاخیر/کامل بودن داشبورد، هشدارها برای رها کردن/اعتبار سنج.

مرحله 2 (4-8 هفته):
  • جمع کننده OTel، همبستگی ردیابی ؛ عادی سازی نقره و قوانین DQ.
  • نقاط پایانی منطقه ای (EEA/UK)، روش حفظ حریم خصوصی، روش DSAR/RTBF.
  • نقشه نسخه SDK، به روز رسانی خودکار توسط حلقه ها.
مرحله 3 (8-12 هفته):
  • دقیقا یک بار در جریان, اتصالات فروشگاه ویژگی, ضد تقلب خوراک آنلاین.
  • قانون به عنوان کد برای طرح ها و اعتبار سنج ها، تجزیه و تحلیل تاثیر.
  • بهینه سازی ارزش: نمونه برداری تطبیقی، مرتبه Z/خوشه بندی در دریاچه.

19) چک لیست کیفیت قبل از انتشار

  • فیلدهای طرح مورد نیاز و انواع صحیح پر شده است.
  • 'trace _ id '/' request _ id '/' session _ id' وجود دارد.
  • SDK از دسته ای، سعی مجدد، نمونه برداری پشتیبانی می کند.
  • لبه طرح را تأیید می کند و اندازه بار را محدود می کند.
  • فیلترهای حریم خصوصی و نشانه گذاری زمینه های حساس فعال می شوند.
  • پیکربندی SLO/هشدارها و داشبورد.
  • مستندات برای دامنه ها (به عنوان مثال رویداد، مالک، SLA).

20) اشتباهات مکرر و چگونگی اجتناب از آنها

رویدادهای خام بدون طرح: وارد رجیستری و اعتبار CI.
بدون idempotency: نیاز به 'event _ id' و ذخیره پنجره های deduplication.
PII و تجزیه و تحلیل مخلوط: نقشه های جداگانه، زمینه های ماسک.
بدون ردیابی: مسیر 'trace _ id' از طریق دروازه → خدمات → رویدادها.
حجم مدیریت نشده - استفاده از نمونه برداری/trrottling و سهمیه بودجه.
نقطه پایانی جهانی بدون مناطق - استفاده از منطقه سازی و اقامت داده ها.

21) واژه نامه (کوتاه)

OpenTelemetry (OTel) یک استاندارد باز برای trails/metrics/logs است.
Outbox - انتشار معاملات رویدادهای دامنه.
DLQ - صف پیام های «شکسته».
نمونه برداری - انتخاب بخشی از رویدادها برای کاهش حجم.
اقامت داده ها - ذخیره داده ها در حوزه قضایی مورد نظر.

22) خط پایین

تله متری به خوبی طراحی شده است در مورد ترتیبات، نه فقط «ارسال سیاهههای مربوط»: طرح های دقیق، شناسایی توافق، حفظ حریم خصوصی به طور پیش فرض، حمل و نقل قابل اعتماد، مشاهده و صرفه جویی در هزینه. با پیروی از این مقاله، شما یک جریان ثابت از رویدادهای آماده برای تجزیه و تحلیل، انطباق و یادگیری ماشین با SLO های قابل پیش بینی دریافت می کنید.

Contact

با ما در تماس باشید

برای هرگونه سؤال یا نیاز به پشتیبانی با ما ارتباط بگیرید.ما همیشه آماده کمک هستیم!

شروع یکپارچه‌سازی

ایمیل — اجباری است. تلگرام یا واتساپ — اختیاری.

نام شما اختیاری
ایمیل اختیاری
موضوع اختیاری
پیام اختیاری
Telegram اختیاری
@
اگر تلگرام را وارد کنید — علاوه بر ایمیل، در تلگرام هم پاسخ می‌دهیم.
WhatsApp اختیاری
فرمت: کد کشور و شماره (برای مثال، +98XXXXXXXXXX).

با فشردن این دکمه، با پردازش داده‌های خود موافقت می‌کنید.