GH GambleHub

گرافانا و تجسم داده

(بخش: تکنولوژی و زیرساخت)

خلاصه ای کوتاه

Grafana یک ویترین برای همه مشاهدات است: معیارها، گزارش ها، ردیابی ها، شاخص های تجاری و هشدارها در یک مکان. برای iGaming، این موارد عبارتند از: نظارت p95/p99، تبدیل پرداخت، زمان به کیف پول، در دسترس بودن ارائه دهنده بازی، توزیع جغرافیایی حوادث و پایدار در مقابل canary. موفقیت: قالب ها (متغیرها)، پانل های قابل فهم، حاشیه نویسی انتشار، داشبورد SLO و نظم حقوق دسترسی.

1) معماری اتصال

منابع داده: Prometheus (metrics), Loki/ELK (logs), Tempo/Jaeger (trails), ClickHouse/BigQuery/PG (business data), OTLP via Gateway.
پیوندهای کلیدی: از → examplar → trace metric → سیاهههای مربوط به 'trace _ id'.
پوشه ها و RBAC: پوشه های جداگانه 'SRE'، 'پرداخت'، 'خطر'، 'بازی'، 'BizOps' ؛ роли 'Viewer/Editor/Admin' и مجوزهای دانه.

2) طراحی داشبورد: اصول

1. پاسخ به این سوال در 1-2 کلیک: از کارت SLO به جزئیات.
2. RED/استفاده برای هر سرویس + کارت های دامنه (TTW، تبدیل سپرده).
3. شبکه پایدار: 24 ستون، KPI بزرگ در بالا، جزئیات در پایین.
4. رنگ ها و آستانه ها: حداقل، فقط SLA/SLO.
5. حاشیه نویسی انتشار: Git SHA، نسخه، نوع انتشار (قناری/آبی سبز).

3) متغیرها و قالب ها (قالب بندی)

متغیرها یک داشبورد را به بسیاری تبدیل می کنند.

مثال (متغیر پرسوجوی پرومتئوس):
  • نام: «خدمات»
  • پرسوجو: 'label _ values (up, service)'
  • چند انتخاب + شامل همه - مناسب برای aggregates.
متغیرهای آبشاری:
  • 'region' → 'env' → 'service' → 'نمونه'.
  • از 'regex '/' sort' برای UX و 'refresh: On dashboard load' استفاده کنید.

4) پانل ها و انواع رندر

سری زمان: p50/p95/p99، نرخ خطا، توان.
آمار/اندازه گیری: KPI هدف (در دسترس بودن، TTW p95).
نوار سنج/جدول: مسیرهای بالا N/PSP/ارائه دهندگان بازی.
Geomap: نقشه های حرارتی حادثه/تاخیر توسط کشور/ROR.
بوم: جریان شماتیک (پلیر → API → PSP → بانک).
نمودار گره: وابستگی های سرویس، رنگ آمیزی توسط خطاها.

تبدیل ها:
  • برچسب ها به زمینه ها، پیوستن بیرونی، کاهش (min/max/avg)، اضافه کردن فیلد از محاسبه (تبدیل).

5) نمونه هایی از پرس و جو و پانل

5. 1 p95 تاخیر (PromQL)

promql histogram_quantile(0. 95,
sum by (le, route) (rate(http_request_duration_seconds_bucket{service="$service",region="$region"}[5m]))
)

5. 2 موفقیت درخواست ها (پروکسی SLO)

promql sum(rate(http_requests_total{service="$service",status=~"2..    3.."}[5m]))
/
sum(rate(http_requests_total{service="$service"}[5m]))

5. 3 تبدیل پرداخت (مجموع PromQL)

promql sum(rate(payments_success_total{psp=~"$psp",currency=~"$currency"}[15m]))
/
sum(rate(payments_attempt_total{psp=~"$psp",currency=~"$currency"}[15m]))

5. 4 پرش سریع به مسیر (نمونه)

در پانل «سری زمان»، Examplars → کلیک بر روی نقطه → Tempo با «trace _ id» باز می شود.

5. 5 trace_id لوکی

logql
{service="$service"}     = "$traceID"

6) حاشیه نویسی و رویدادها

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

7) هشدارها در Grafana

قوانین هشدار مرکزی (بر اساس Prometheus/Loki/Cloud).
نقاط تماس: PagerDuty/Slack/ایمیل ؛ سیاست های اطلاع رسانی (ریشه کردن توسط پوشه/برچسب ها).
نرخ سوختن چند پنجره: سریع و آهسته بو دادن بودجه.
سکوت: در پنجره های برنامه ریزی شده و با تکراری.

عبارت مثال برای p95:
promql histogram_quantile(0. 95,
sum by (le, service) (rate(http_request_duration_seconds_bucket{service="$service"}[5m]))
) > 0. 25

8) ارائه به عنوان کد (IaC)

ذخیره منابع/داشبورد/هشدار در Git.

منبع داده. یامل

yaml apiVersion: 1 datasources:
- name: Prometheus type: prometheus access: proxy url: http://prometheus:9090 isDefault: true
- name: Loki type: loki url: http://loki:3100
- name: Tempo type: tempo url: http://tempo:3100

داشبورد. یامل

yaml apiVersion: 1 providers:
- name: sres folder: SRE type: file disableDeletion: false options:
path: /var/lib/grafana/dashboards/sre

گرافانا ini (قطعه)

ini
[auth]
disable_login_form = false
[users]
viewers_can_edit = false
[alerting]
enabled = true
[unified_alerting. screenshots]
capture = true

9) امنیت و دسترسی

SSO (OIDC/SAML)، گروه ها → نقش ها → پوشه ها.
حقوق به منابع داده: فقط پوشه های لازم، فقط خواندنی برای بیننده.
بهداشت PII: زمینه ها را با PII در پانل نکشید ؛ برای سیاهههای مربوط - فیلتر/ماسک.
اسرار: فقط از طریق فیلدهای امن JSON، بدون «متن ساده» در داشبورد.

10) عملکرد و هزینه

قوانین ضبط در Prometheus برای عبارات سنگین.
Downsampling/Retention در ذخیره سازی طولانی مدت.
حافظه پنهان داشبورد و فواصل منصفانه (نه «1s» در همه جا).
محدودیت کاردینالیتی متغیرها («user _ id »/« session _ id» را جایگزین نکنید).
توزیع مجدد: نمونه ها/پوشه های جداگانه برای تیم های پر سر و صدا.

11) داشبورد تخصصی برای iGaming

پرداخت: تلاش/موفقیت/TTW p95، خطای PSP/مسیر، نقشه جغرافیایی انحراف.
بازی ها/ارائه دهندگان: تاخیر و نرخ خطا توسط استودیو/بازی، راه اندازی تبدیل.
ریسک/تقلب: سرعت عمل، انفجار دستگاه/IP، همبستگی (جدول + نوار).
RG/انطباق: جلسات> آستانه، رشد استیک، هشدار ناهنجاری.
مقایسه انتشار: پایدار در مقابل canary توسط p95/خطا/معیارهای کسب و کار.
Infra/use: استفاده/اشباع/خطاها توسط خوشه و صف.

12) نمونه ای از داشبورد JSON (قطعه)

json
{
"title": "Payments SLO",
"tags": ["slo","payments"],
"time": {"from":"now-6h","to":"now"},
"panels": [
{
"type":"stat",
"title":"Availability",
"targets":[{"expr":"sum(rate(http_requests_total{service=\"payments-api\",status=~\"2..    3..\"}[5m]))/sum(rate(http_requests_total{service=\"payments-api\"}[5m]))"}],
"thresholds":{"mode":"absolute","steps":[{"color":"red","value":0},{"color":"green","value":0. 999}]}
},
{
"type":"timeseries",
"title":"p95 latency",
"exemplars": {"color":"rgba(31,120,193,0. 6)"},
"targets":[{"expr":"histogram_quantile(0. 95,sum by (le) (rate(http_request_duration_seconds_bucket{service=\"payments-api\"}[5m])))"}]
}
]
}

13) Runbooks و بهبود UX

هر هشدار دارای یک URL Runbook (دستورالعمل عمل) است.
لینک به داشبورد مرتبط (پرداخت ↔ Infra ↔ PSP).
Drilldown: کلیک بر روی برچسب → فیلترها (منطقه/psp/مسیر).
پیش فرض متغیرها: 'env = prod'، 'region = eu' - سرعت شروع را افزایش می دهد.

14) چک لیست پیاده سازی

1. پیکربندی منابع داده: Prometheus/Loki/Tempo/SQL.

2. پوشهها و RBAC را وارد کنید ؛ ممیزی حقوق

3. ایجاد متغیرهای الگو (region/env/service).
4. ساخت داشبورد SLO (در دسترس بودن، p95، نرخ خطا، بودجه خطا).
5. اضافه کردن حاشیه نویسی انتشار و مقایسه پایدار/canary.
6. فعال کردن نمونه و رفتن به آثار/سیاهههای مربوط با کلیک کردن.
7. پیکربندی هشدارها (چند پنجره سوختگی نرخ) و ریشه.
8. همه چیز را به عنوان کد ارائه دهید، در Git ذخیره کنید، یک بررسی انجام دهید.
9. بهینه سازی عملکرد: قوانین ضبط، فواصل، کش.
10. داشبورد کسب و کار (TTW، تبدیل پرداخت، کارت های GGR) را وارد کنید.

15) ضد گلوله

«باغ وحش» داشبورد متناقض بدون متغیرها و استانداردها.
پانل های با PromQL سنگین بدون قوانین ضبط → UI آهسته.
فراوانی رنگ ها/افسانه ها/محور Y با مقیاس های مختلف.
اتصال PII در پانل های باز برای بیننده.
عدم حاشیه نویسی انتشار - مشخص نیست که پرش از کجا آمده است.
یک داشبورد «monovew» به جای یک ساختار پوشه.

خلاصه

Grafana رابط کاربری است که این تکنیک با محصول مطابقت دارد: معیارها، سیاهههای مربوط و آهنگ ها به تصاویر کسب و کار متصل می شوند. قالب ها، پانل های صحیح، حاشیه نویسی ها و هشدارها، داده ها را به راه حل ها تبدیل می کنند: تشخیص سریع، انتشار قابل پیش بینی و هزینه های قابل مشاهده قابل کنترل.

Contact

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

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

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

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

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

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