Logo GH

Бақылау және телеметрия

(Бөлім: Технологиялар және Инфрақұрылым)

Қысқаша түйіндеме

Бақылау - бұл «ол неге осылай жұмыс істейді?» деп жауап беру қабілеті жаңа билдтер шығарылмай. iGaming-те бұл өте маңызды: ең жоғары турнирлер, төлем шыңдары, көп аймақтық және жауапты гэмблинг/PII талаптары. Базис - жалпы сәйкестендіргіштермен және стандарттармен (OpenTelemetry), SLO-келісімшарттармен, шуға төзімді алертингпен және құнын бақылаумен біріктірілген метриктер, логтер, трассировкалар.

1) Бақылау қаңқасы: ол неден тұрады

Өлшемдер (уақыт бойынша сандар): RED/USE, бизнес-KPI, SLI. TSDB сақталады.
Логи (мәтіндегі оқиғалар/JSON): аудит, қателер, бизнес-фактілер, қауіпсіздік.
Трассировкалар (спендер): сервистер арқылы сұрау жолы, жасырындылық, кідіру себептері.
Профайлинг: CPU/жады/eBPF-ағындары, heap/lock-контеншн.
RUM және синтетика: нақты пайдаланушылар (web/app) + робот тексеру.
Телеметрия каталогы: схемалар, PII саясаты, сақтау мерзімі, құн тегтері.

2) Сигналдардың таксономиясы және қағидаттары

RED для API: Rate, Errors, Duration.
Инфрақұрылымға арналған USE: Utilization, Saturation, Errors (CPU, дискілер, желі, кезектер).
SLI/SLO: өлшенетін индикаторлар (мысалы, табысты сұрау салулар/барлығы, p95 latency), қол жетімділік мақсаттары (мысалы, "99. 9% 30 күнде"), қателер бюджеті → процестердің триггерлері.
High-cardinality ақылды: лейблдер кесінділерде пайдалы болуы тиіс (өңір/тенант/провайдер), бірақ TSDB жаруға болмайды.

3) Стандарттар және толассыз корреляция

OpenTelemetry (OTel): метриктер, логтар және трассировкалар үшін бірыңғай SDK/протокол.
Идентификаторлар: 'trace _ id', 'span _ id', 'correlation _ id', 'player _ id' (псевдонимделген), 'payment _ route'.
ID ағымы: кіріс шлюзі → барлық микросервистер → төлемдер/PSP → кезектер/джобтар → логи/метрика/спендер.

Мысал: корреляция тақырыптары


traceparent: 00-<trace_id>-<span_id>-01 x-request-id: <correlation_id>

4) Өлшемдер: нені және қалай өлшейміз

Атау/лейблдер

`service="payments-api"`, `env="prod"`, `region="eu-west"`, `tenant`, `provider="pspX"`.

Prometheus мысалдары

prometheus
RED http_requests_total{service="api",route="/deposit",method="POST",status="200"}
http_request_duration_seconds_bucket{service="api",le="0. 25",route="/deposit"} 1234 http_request_errors_total{service="api",route="/deposit"}

USE cpu_utilization_ratio{node="n1"} 0. 71 queue_depth{queue="withdrawals"} 128

Бизнес payments_success_total{psp="X",currency="EUR"} 4521 payment_conversion_ratio{route="pspX"} 0. 948

Гистограммалар мен exemplars

Латенттік гистограммаларын (native-histograms/ β uckets) сақтаңыз және «баяу бакеттен» нақты трассаға секіру үшін exemplar 'trace _ id' -мен байланыңыз.

5) Логи: құрылымдалған және қауіпсіз

Тек JSON (өнімдегі «free-form» жоқ).
Поля: `timestamp`, `severity`, `service`, `trace_id`, `correlation_id`, `player_id_hash`, `event`, `amount`, `currency`, `ip_hash`.
PII бүркемелеу/хэштеу, сезімтал үшін жеке индекстер/retention.
Логтардың пайплайндары: парсинг → қалыпқа келтіру → байыту (geo/ASN) → редакциялау PII → индекстеу.

JSON оқиғасының мысалы

json
{
"ts":"2025-11-05T10:42:31Z",
"sev":"ERROR",
"service":"payments-api",
"event":"psp_timeout",
"trace_id":"9c5e...e2",
"route":"pspX",
"duration_ms": 3100,
"attempt":2,
"player_id_hash":"p:1b7f...",
"pii_redacted":true
}

6) Трассалау: уақыт қайда жоғалады

Спендер: кіріс сұрауы, провайдерлердің қоңыраулары (PSP/ойын провайдерлері), ДБ/кэш, сервистік RPC.
Төлсипаттар: 'db. system`, `net. peer. name`, `messaging. system`, `psp. route`, `game. provider`.

Сэмплинг:
  • көлем үшін head-based (ықтималдық),
  • tail-based (шарттар бойынша: қателер, p95 +, VIP-сегмент),
  • guaranteed-keep төлем/PII-сыни үшін.

7) Майдан мен мобайлдың байқалуы

RUM: TTFB, FCP/LCP/CLS/INP, JS қателері, желілер және SPA-роутинг.
Краш-репорттар: символизация, деобфускация, билд нұсқасы, құрылғы/OS.
Синтетика: кіру/депозит/ставка сценарийлері; геоақпараттық тексерулер.

8) SLO, SLI және бюджет қателері

SLO мысалы (псевдо-YAML)

yaml service: payments-api sli:
- name: availability expr: sum(rate(http_requests_total{status=~"2..    3.."}[5m]))
/ sum(rate(http_requests_total[5m]))
- name: latency_p95 expr: histogram_quantile(0. 95, rate(http_request_duration_seconds_bucket[5m]))
targets:
availability: "99. 9%/30d"
latency_p95: "<=250ms/30d"
error_budget_policy:
fast_burn: 5% for 1h -> page, freeze deploy slow_burn: 20% for 24h -> incident, improvement plan

«Әрбір метрика» бойынша емес, қателіктер бюджеті бойынша алертинг.
Бюджет жанған кезде Freeze-процедуралары: релиздерді/канареяны шектеу.

9) Шусыз алертинг

Multi-window, multi-burn ережелері: қысқа/ұзын терезе.
Дедупликация/рутинг: сервистер/өңірлер/on-call-дағы сындарлылық бойынша.
Runbook URL және мәтінмәнді автоматты түрде жинау (соңғы деплоилер, конфигурацияларды өзгерту, тәуелділік бағандары).
Жоспарлы жұмыстар кезінде тыныш сағаттар және басу.

Ереженің мысалы (PromQL идеясы)

promql alert: PaymentsSLOFastBurn expr: slo_error_rate_5m > 2 slo_budget_rate for: 15m labels: { severity="page", service="payments-api" }
annotations:
summary: "SLO fast burn"
runbook: "https://runbooks/payments/slo"

10) Профайлинг және eBPF

eBPF/профайлерлер: CPU/alloc, I/O-жасырындылық, желілік дроптар, Syscall-аномалиялар.
p99 тар жерлер, «джиттер» және сирек тұрып қалу кезінде пайдалы.

11) Бизнес-бақылау (product & risk)

Қаржы/монетизация: депозиттердің конверсиясы, TTW (time-to-wallet), авториз ./сеттл.
Ойын белсенділігі: ретеншн/стрик, live-ставкалардың үлесі, провайдерлердің «жабысқақтығы».
Антифрод/абьюз: әрекет жылдамдығы, құрылғылардың/IP сәйкес келуі, корреляциялар.
RG-индикаторлар: ұзақ сессиялар, «догон», стейктердің өсуі.
Бизнес-метриктер техметриктермен және релиздермен (annotation events) корреляцияланады.

12) Қауіпсіздік, PII және сәйкестік

Data-zones: datacets/log тегтері ('pii = true', 'region = EU').
Индекстеуге дейін бүркемелеу, сәйкестендіргіштерді псевдонимдеу.
аудит үшін WORM-сақтау орны; логқа рөлдік қатынау.
Сақтау мерзімі: техлогтар/аудит/бизнес үшін әртүрлі.
Логтарда шикі құпияларға тыйым салу; CI сканерлеу.

13) Құнын басқару (FinOps)

Түбегейлілік шегі: абайлаңыз с 'user _ id', 'session _ id'.
Партиялану/ретеншн: ыстық (7-14 күн), жылы (30-90), суық (мұрағат).
Сэмплинг трасс (tail-based) және downsampling метрик.
'team', 'service', 'tenant' тегтері бойынша биллинг: «байқауды кім жағады» есептері.

14) Құрал-сайман (референс-стек)

Метриктер: Prometheus/лэйк үшін метриктер, дашбордтар Grafana.
Логи: Loki/ELK; ingestion ережелері, reduction/парсинг.
Трейдерлер: Tempo/Jaeger/OTel-коллекторлар; метрикадан exemplars-линкалары.
Синтетика: Blackbox экспорттаушы, браузерлік роботтар.
Alerting: Alertmanager/чат-интеграция, on-call ротация.
Профайлинг: eBPF/continuous profiling.

15) Мысалдар: негізді жылдам енгізу

(а) API үшін RED экспорттаушысы (жалған құжат):
python from prometheus_client import Counter, Histogram, start_http_server reqs = Counter('http_requests_total','', ['route','method','status'])
lat = Histogram('http_request_duration_seconds','', ['route'])
def handle(req):
with lat. labels(route=req. route). time():
status = app(req)
reqs. labels(route=req. route,method=req. method,status=str(status)). inc()
(b) Логиге trace_id кіріктіру (middleware-идея):
go tid:= ctx. Value("trace_id")
logger = logger. With("trace_id", tid)
logger. Info("deposit-accepted", "amount", amt, "route", route)
(с) Метрикадағы (exemplars) даналары:
prometheus http_request_duration_seconds_bucket{..., le="0. 25"} 1023 # exemplar: trace_id=9c5e...

16) Процестер және операциялық

Метрик/лейблдердің бірыңғай сөздігі (naming-guide) және дашборд үлгісі.
Release-annotations автоматты түрде бағандарда.
Инциденттер: карточка, таймлайн, RCA айыптаусыз, action items.
Оқу дабылдары («game-day»): құлауды имитациялау, PSP кідірістері, кэштің қызып кетуі.
Runbooks: қадамдық нұсқаулықтар мен автосілтемелер.

17) Жетілгендік чек-парағы

1. OTel SDK/коллектор → метриктер/логтар/трейлерлердің бірыңғай экспорты.
2. RED/USE + SLI/SLO барлық сервистерін негізгі API бойынша жабады.
3. 'trace _ id' корреляциясы ⇄ метрикалық логтар ⇄ (exemplars, jump-links).
4. Бюджет бойынша алерталар multi-burn және рунабук-сілтемелерімен қателер.
5. RUM + синтетика «депозитке/мөлшерлемеге/шығарылымға».
6. Ақ тізім бойынша профайлинг (eBPF).
7. PII-саясат: бүркемелеу, аймақтар, қол жеткізу, сақтау мерзімдері.
8. Телеметрия құны бойынша қаржылық есеп (тегтер 'team/service').
9. «Ең жоғары жүктемеге дайындық»: тест-жоспар, кэштерді жылыту, alert-шаблондар.
10. Тұрақты RCA және SLO/шектерді қайта қарау.

18) Антипаттерндер

Құрылымы жоқ «жаймалармен» және 'trace _ id'.
Әрбір метрика бойынша алерталар → алерт-фэтИг.
Түзету бакеттерсіз гистограммалар → «жазық» p95.
Лейблдердің шексіз түбегейлілігі → құн жарылысы.
RUM/синтетиканың болмауы - «бәрі жақсы», ал пайдаланушыға жоқ.
PII-ді техлогтармен араластыру, мерзімсіз ретенция.
Телеметрияны бизнес-KPI-дан оқшаулау - «жасырындылық төмендейді, түсім де төмендейді».

Күшті бақылау - бұл өнім, SRE, қауіпсіздік және төлемдер арасындағы ортақ тіл. Метриканы, логды, трассаны OTel-ге біріктіріп, SLO-ны қателер бюджетімен енгізіп, алертингті ақылды және басқарылатын құнды ете отырып, сіз бұрын проблемаларды байқайтын, тез қалпына келетін және трафик пен турнирлік жүктемелердің ең жоғары шегінен өтетін жүйені аласыз.

Contact

Бізбен байланысыңыз

Кез келген сұрақ немесе қолдау қажет болса, бізге жазыңыз.Біз әрдайым көмектесуге дайынбыз!

Telegram
@Gamble_GC
Интеграцияны бастау

Email — міндетті. Telegram немесе WhatsApp — қосымша.

Сіздің атыңыз міндетті емес
Email міндетті емес
Тақырып міндетті емес
Хабарлама міндетті емес
Telegram міндетті емес
@
Егер Telegram-ды көрсетсеңіз — Email-ге қоса, сол жерге де жауап береміз.
WhatsApp міндетті емес
Пішім: +ел коды және номер (мысалы, +7XXXXXXXXXX).

Батырманы басу арқылы деректерді өңдеуге келісім бересіз.