GH GambleHub

قابلیت مشاهده и نمونه برداری ردیابی

1) چرا قابل مشاهده بودن

قابلیت مشاهده (O11y) به سه سؤال پاسخ می دهد: چه اتفاقی می افتد، چرا، چگونه آن را برطرف کنیم. این به 4 سیگنال بستگی دارد:
  • معیارها (aggregates، به سرعت واکنش نشان می دهند) ؛
  • سیاهههای مربوط (جزئیات و پزشکی قانونی) ؛
  • ردیابی (روابط علت و معلولی متقابل) ؛
  • پروفایل ها (CPU/heap/lock contention در حالت prod).

کلید: ارتباط بین سیگنال + اقتصاد تله متری (نمونه برداری، نگهداری، فشرده سازی).

2) نقشه سیگنال و اصول

2. 1 قرمز/استفاده

RED (برای API): نرخ (RPS), خطاها (% 5xx/4xx مهم), مدت زمان (p50/p95/p99).
استفاده (برای منابع): استفاده، اشباع، خطاها (NIC، CPU، دیسک، صف).

2. 2 محصولات ثابت

تعریف یک SLO (به عنوان مثال "تاخیر p95 "/v1/پرداخت" ≤ 300ms، بودجه اشتباه 0. 5 درصد در 30 روز) هشدار باید «فریاد» تنها زمانی که SLO نقض شده است و یا سوخته.

2. 3 زمینه

پیاده سازی زمینه ردیابی W3C ('traceparent'، 'tracestate') و چمدان برای ایمن انتقال آن/ویژگی های کسب و کار (به عنوان مثال 'tenant'، 'منطقه'، بدون PII).

3) معماری قابل مشاهده

SDK/ابزار دقیق: OpenTelemetry (OTel) در خدمات (HTTP/gRPC/DB/مشتریان).
دریافت → غنی سازی → نمونه برداری → صادرات (Prometheus، Tempo/Jaeger، Loki/ELK، ClickHouse).

غرفه ها:
  • معیارها: Prometheus/Mimir/VictoriaMetrics ؛
  • مسیرهای پیاده روی: تمپو/یگر/زیپکین ؛
  • سیاهههای مربوط: Loki/ELK/بردار → S3 + ذخیره سازی deshevoye ؛
  • پروفایل: پیروسکوپ/پارکا.
  • همبستگی: نمودارهای خدمات، نمونه ها، انتقال از نمودار p99 به یک ردیابی خاص.

4) ردیابی نمونه برداری: استراتژی

4. 1 نمونه برداری مبتنی بر سر

پیاده سازی ساده و ارزان (در SDK/ingress).
معایب: ممکن است خطاهای نادر/درخواست های آهسته را از دست بدهد.

هنگامی که: RPS بالا، بودجه دقیق، سهم قابل پیش بینی (به عنوان مثال، 1-5٪) مورد نیاز است.

4. 2 نمونه گیری مبتنی بر دم

تصمیم گیری در Collector پس از پایان دوره انجام می شود.
ناهنجاری ها را می توان انتخاب کرد: خطاها، p99، مسیرهای خاص/مستاجران.
معایب: بافر، سخت تر و گران تر.

چه زمانی: مسیرهای «معنی دار» با هزینه متوسط مورد نیاز است.

4. 3 مدل ترکیبی

سر جهانی 1-5٪، به علاوه قوانین دم: «همیشه خطاها/دهانه های آهسته را ذخیره کنید»، «نمونه 50٪ از ترافیک قناری»، «صرفه جویی در تمام آثار مسیرهای پرداخت در یک حادثه».

5) نمونه برداری پویا و بودجه تله متری

آگاه از بودجه: حجم نگه دارید ≤ N مسیرهای پیاده روی/دقیقه ؛ اگر بیش از حد باشد، آستانه ها را افزایش دهید (به عنوان مثال، فقط p99 را انتخاب کنید. 5 +، فقط خطا).
قوانین بر اساس مسیر/مستاجر: نقاط پایانی مهم/مستاجران - با سهم بیشتر.
Adaptive windows: bursts → به طور موقت میزان خطا/آهسته را افزایش می دهد.
کاهش کاردینالیتی: عادی عامل کاربر، IP/ASN، آثار پشته اسکواش، اسرار ماسک.

6) پیکربندی (منابع)

6. 1 OpenTelemetry Collector - نمونه برداری دم (yaml-fragment)

yaml receivers:
otlp: { protocols: { http: {}, grpc: {} } }

processors:
batch: { send_batch_size: 8192, timeout: 2s }
tail_sampling:
decision_wait: 5s num_traces: 100000 expected_new_traces_per_sec: 5000 policies:
- name: always-error type: status_code status_code: { status_codes: [ERROR] }
- name: slow-endpoints type: latency latency: { threshold_ms: 300 }      # p95 цель
- name: important-routes type: string_attribute string_attribute: { key: http. target, values: ["/v1/payments", "/v1/payouts"] }
- name: tenant-eu1 type: string_attribute string_attribute: { key: tenant, values: ["eu-1"] }
- name: probabilistic-default type: probabilistic probabilistic: { sampling_percentage: 5. 0 }

exporters:
otlphttp/tempo: { endpoint: http://tempo:4318 }
prometheus: { endpoint: "0. 0. 0. 0:9464" }

service:
pipelines:
traces:
receivers: [otlp]
processors: [batch, tail_sampling]
exporters: [otlphttp/tempo]

6. 2 پرومتئوس - نمونه (قطعه)

در برنامه، هنگام ضبط هیستوگرام، نمونه هایی با «trace _ id» اضافه کنید. در Grafana، کلیک بر روی «سوزن» منجر به ردیابی می شود.

yaml scrape_configs:
- job_name: api scrape_interval: 10s honor_labels: true static_configs: [{ targets: ["api:9100"] }]
exemplar_limit: 10

6. 3 Loki - کاهش هزینه سیاهههای مربوط

برچسبها فقط پایدار هستند ('service', 'env', 'region', 'route _ class').
کاردینالیتی بالا (request_id، user_id) - در بار، اما با redaction.
نمونه «موفق» InfoLogs، هر گونه خطا/هشدار را ذخیره کنید.

6. 4 Jaeger/Tempo - نگهداری و شاخص

ذخیره مسیرهای پیاده روی خام برای 3-7 روز، aggregates/symmetries برای دیگر.
فعال کردن پارکت/بلوک در ذخیره سازی ارزان (سازگار با S3)، شاخص ها جمع و جور هستند.

7) شبیه سازی ردیابی

7. ۱ نامگذاری و صفات

در خدمت شما هستم. نام، خدمات. نسخه '،' استقرار. محیط زیست ".
همین. روش '،' HTTP. مسیر '،' HTTP. هدف، http. status_code'، تور. همکار. نام و نام خانوادگی.
ویژگی های کسب و کار بدون PII: «مستاجر»، «منطقه»، «ارائه دهنده پرداخت»، «game _ id».

7. ۲ رویدادها و ارتباطات

حوادث دهانه: نقاط مهم (شروع معامله DB، retray، مدار باز، حافظه پنهان از دست).
لینک ها: زاپروس → ارتباطات vebkhuk/sobytiye ؛ برای EDA و صندوق ورودی/صندوق ورودی مفید است.

7. 3 نمونه

نمونه هایی با «trace _ id» را به هیستوگرام های تاخیر/اندازه اضافه کنید: ناوبری از → trace برای ردیابی متریک در یک کلیک.

8) معیارها: چه و چگونه

8. 1 فنی

قرمز توسط مسیر/مستاجر/ارائه دهنده (PSP، KYC).
Пулы: 'db _ connections _ in _ use'، 'http _ client _ in _ flight'، 'queue _ depth'.
تثبیت: تلاش مجدد, وقفه, مدار باز/نیمه باز, بازدید نرخ محدود.
Go/Java/Python runtime: GC مکث می کند، پشته، safepoints، تاخیر GIL.

8. 2 معیارهای کسب و کار

ثبت نام/ورود/سپرده/نتیجه گیری، تبدیل، شکست 3DS/KYC، نسبت بازپرداخت.
ویژگی های مهم: زمان به کیف پول، پرداخت نرخ موفقیت.

8. 3 کاردینالیتی و ذخیره سازی

هیستوگرام با سطل صریح (به عنوان مثال،. [50 100 200 300 500 1000 2000])

اجتناب از علائم با کاردینالیتی بالا (user_id خام، request_id) - آنها را به سیاهههای مربوط/مسیرهای پیاده روی.

9) سیاهههای مربوط: استانداردها و همبستگی

فرمت: JSON + کلید های مورد نیاز ('timestamp'، 'level'، 'message'، 'trace _ id'، 'span _ id'، 'service'، 'env').
ویرایش: ماسک PAN، نشانه ها، PII.

نمونه برداری: 100٪ برای «خطا/هشدار»، 5-20٪ برای «اطلاعات» در مسیرهای «پر سر و صدا»

اتصال به ردیابی - از طریق 'trace _ id'. Log strings → «pivot» برای ردیابی و برعکس.

10) پروفایل در فروش

فعال کردن پروفایل مداوم (Pyroscope/Parca) برای CPU/heap/-/قفل.
قله های همبستگی p99 با پشته های داغ ؛ 7-14 روز نگه دارید.

11) هشدار در مورد SLO/بودجه ناقص

هشدار SLO: «بودجه اشتباه سریعتر از X ٪/ساعت صرف می شود» (هشدار پیش بینی).
علائم، نه علل: هشدار به سطح مشتری (RUM/edge یا per-route)، نه به CPU.
چند پنجره، نرخ چند سوختگی: 2٪ در 1 ساعت و 5٪ در 6 ساعت - دو شرایط.
سکوت در طول تخریب برنامه ریزی شده: تغییر آستانه در طول پرچم های ویژگی/قناری.

12) هزینه و نگهداری

سهمیه حجم: مسیرهای پیاده روی ≤ N TB/ماه، سیاهههای مربوط - گرم 3-7 روز، سرد S3 30-90 روز، معیارها - downsampling (1 دقیقه → 5 دقیقه → 1 ساعت).
قوانین دم کاهش حجم × 10- × 100، نگه داشتن اشتباه/آهسته است.
سیگنال های کم هزینه - معیارها ؛ با بالاترین ارزش - «درست» مسیرهای پیاده روی و پروفایل.

13) ضد گلوله

«100٪ مسیرهای پیاده روی همیشه» → انفجار هزینه، سر و صدا و ترمز.
سیاهههای مربوط در قالب آزاد بدون کلید/ماسک.
معیارهای برچسب بی نهایت (user_id/ip/full UA).
بدون «traceparent »/« چمدان» - را نمی توان در ارتباط است.
هشدارها در CPU/heap به جای SLO - چت «سوختگی» بدون سود.
نمونه برداری «تصادفی 1٪» بدون خطا اولویت/آهسته - از دست دادن موارد با ارزش است.

14) نمونه هایی از داشبورد (اسکلت)

بررسی API: RPS، میزان خطا در کلاس، تاخیر p95/p99 (نمونه ها قابل کلیک هستند)، مسیرهای بالا.
Release/Canary: مقایسه معیارهای نسخه قدیمی/جدید، outlier-rate، open-circuits، retries.
PSP/KYC: میزان موفقیت توسط ارائه دهندگان، تاخیر و شکست، همبستگی با خطاهای پرداخت.
Infra: استفاده از منابع، اشباع صف، افت شبکه.

15) ویژگی های iGaming/امور مالی

مسیرهای بحرانی (سپرده/نتیجه گیری): ردیابی 100٪ فقط برای حوادث یا پنجره های محدود ؛ در حالت عادی - دم «همه با خطا/تاخیر طولانی».
منطقه/مستاجر: اضافه کردن «مستاجر»، «صلاحیت»، «نام تجاری» به چمدان ؛ ساخت SLO ها توسط حوزه قضایی.
فیلتر Antifrod/bot: معیارها و ردیابی راه حل های ریسک API (اجازه/انکار/چالش)، چالش گذر نرخ، سرعت بازدید.
حسابرسی/انطباق: حفظ حداقل لازم، بدون PII ؛ سیاهههای مربوط ثابت - در یک مدار جداگانه.

16) تولید لیست آمادگی

  • انتشار پایان به پایان ('traceparent'، 'چمدان')، همبستگی ورود به سیستم/متریک/ردیابی.
  • جمع کننده OTel با نمونه برداری دم (خطاها/آهسته/مسیرهای مهم) + پیش فرض احتمالی.
  • معیارهای RED/USE، سطل های صریح، نمونه ها → انتقال به ردیابی.
  • SLO و هشدار بودجه اشتباه (دو جدول زمانی).
  • مقررات تله متری و بودجه ؛ معیارهای downsampling ؛ ذخیره سازی سرد برای سیاهههای مربوط.
  • استاندارد JSON ورود به سیستم، ویرایش PII/اسرار.
  • پروفایل در فروش شامل ؛ داشبورد «داغ» پشته برای این حادثه.
  • داشبورد قناری و مقایسه نسخه ؛ آزادی بدون «نقاط کور».
  • Runbook: چگونه می توان به طور موقت سهم نمونه برداری یک حادثه را افزایش داد.
  • مستندات نامگذاری ویژگی/برچسب و مهار کاردینالیتی بالا.

17) TL ؛ دکتر متخصص

ایجاد قابلیت مشاهده در اطراف همبستگی: RED/USE → نمونه معیارهای → مسیرهای پیاده روی → سیاهههای مربوط/پروفایل. مدیریت هزینه از طریق نمونه برداری ترکیبی: سر کوچک٪ + قوانین دم (اشتباهات، آهسته، مسیرهای مهم/مستاجران). هشدارها - در SLO و بودجه خطا. نگه داشتن retentions و cardinality تحت کنترل، استفاده از OTel جمع کننده به عنوان یک سیستم عصبی مرکزی. "برای پرداخت/مسیرهای قضایی - تله متری اولویت و بهداشت اطلاعات دقیق.

Contact

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

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

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

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

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

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