Գրանցում և տրամաբանություն
1) Ինչու՞ է դա կարևոր iGaming-ում
Իրական ժամանակում փողը 'դեպոզիտների ընդունումը, ակնթարթային վճարումները, վճարումների հաշվարկը և շահումը, մրցավարները' ամեն ինչ զգայուն է հետաձգումների և ձախողումների նկատմամբ։
Կարգավորիչ և աուդիտ. Պահանջվում է գործողությունների ամբողջական հետադարձելիություն (KYC/AML, վճարումներ, պատասխանատու խաղի սահմաններ)։
Բարդ բաշխված ճարտարապետություն 'API դռներ, վճարումների նվագախումբ, EDA/Kafka, պրովայդերների ծառայություններ, բջջային հաճախորդներ, ճակատներ, BI-shin։
Նպատակը 'կրճատել MTTD/MTTR-ը, պահել SLO ոսկու ազդանշաններով և ապահովել ֆորենզիկան։
2) Դիտարկման հիմնական հասկացությունները
Լոգները 'մանրամասն իրադարձություններ (կառուցվածքային JSON), որոնք հարմար են հետազոտության և հետազոտության համար։
Մետրիկները 'ժամանակի ագրեգատները (TSDB), հարմար են SLO/ալերտների համար։
Թրեյզները 'հարցումների պատճառահետևանքային շղթաները (trace/2019) ծառայությունների/brocers/BD միջոցով։
Իվենտներ ՝ հիբրիդային իրադարձություններ (BetPlaced, DepositApproved) - կամուրջ բիզնեսի մետրերի և տեխնիկայի միջև։
3) «Ոսկու ազդանշանները» և SLI/SLO iGaming-ի համար
Latency: P95/P99 կրիտիկական հոսանքներով (հեղինակային իրավունքը, դեպոզիտը, տոկոսադրույքը, նստաշրջանի սկիզբը, սպինը)։
Traffic: RPS-ը API-ի, TPS-ի, EPS-ի իրադարձությունների մասին։
Errors '5xx/4xx, decom-rate, failed-withdrawals, պրովայդերների սխալներ։
Saturation: CPU, memory, IO, Kafka lag, DB connections, thread-pools.
SLO-ի օրինակը (ստացիոնար դարպաս)
SLI: `1 - (failed_payments / total_payments)`
SLO: 99. Քարտերի հաջողակ հեղինակային իրավունքի 7 տոկոսը 30 օրվա ընթացքում (error budget 0։ 3%).
4) Հավաքման և մշակման ճարտարապետությունը
1. Ingest: 108 (OTel Collector/Fluent Bit), MSK-ում, RUM/սինթետիկ։
2. Միկրոակտիզացիա 'բրոքեր/հեռուստացույցի ավտոբուս (OTLP/HTP/GRPC), ֆիլտրեր և դիմակավորում PII։
3. Մոսկվան
Մետրիկները ՝ TSDB (ագրեգացիա, downsampling)։
Լոգներ ՝ hot (ինդեքսավորվող )/warm (ավելի քիչ ինդեքսավորվող )/cold (օբյեկտի պահեստ, WORM)։
Թրեյզներ ՝ Time-indexed storage-ը վերականգնումներով և tail-sampling-ով։
4. Վերլուծություն/ալերտներ ՝ կանոններ (PromQL/LogQL/SQL), հարաբերակցություն թրեյսամիայի և թողարկումների հետ։
5. Dashbords: տեխնոլոգիական + բիզնես տեսակներ (վճարումներ, RNG/պրովայդերներ, մրցույթային շարժիչ)։
5) Քրոնոլոգովը (JSON) և իրադարձությունների տաքսոնոմիան։
Խորհուրդ է տալիս խիստ JSON տրամաբանությունը, միասնական բանալիները և մակարդակները։
Уровни: `DEBUG < INFO < NOTICE < WARN < ERROR < FATAL < AUDIT`
Таксономия: `auth.`, `payment.`, `gameplay.`, `risk.`, `psp.`, `kyc.`, `rg.` (responsible gaming), `ops.`.
JSON-իրադարձությունների օրինակը (AUDIT/PII-safe)
json
{
"ts": "2025-11-04T19:45:31. 842Z",
"lvl": "AUDIT",
"event_type": "payment. deposit_approved",
"correlation_id": "c-7d2c1f0b",
"trace_id": "2d6a9c0e4c0b1f72",
"span_id": "9f3a81d2a1c3b764",
"request_id": "r-8f12de9e",
"tenant": "brand_eu",
"psp": "acq_xyz",
"user_id_hash": "u:sha256:1e63…",
"device_id": "d-3c8f…",
"ip_trunc": "203. 0. 113. 0/24",
"amount_minor": 5000,
"currency": "EUR",
"result": "approved",
"latency_ms": 312,
"tags": ["pci_safe", "kyc_passed", "low_risk"],
"extra": {
"bin": "411111",
"method": "card",
"region": "EU",
"ab_test": "checkout_v2"
}
}
PII/PCI անվտանգության կանոնները
Maskirum PAN/BIN (միայն թույլատրելի դաշտային քաղաքականություն), email/հեռախոսը 'հեշ/հոսանք։
IP իջեցնել մինչև/24, GeoIP պահել առանձին։
Արգելում ենք ազատ տեքստը «extra» -ում 'առանց անջատման։
6) Հարաբերակցություն ՝ trace _ id, direlation _ id, idempotency _ key
Յուրաքանչյուր լոգում և մետրիկում ավելացրեք «trace _ id» (OTel), «բանաձև _ id», «wwww.relation _ id» (բիզնես գործընթացի համար), «idempotency _ key» (հիբրիդային հարցումների համար)։
Փոխանցել baggage (tenault/brand, market, A/B տարբերակը), որպեսզի կառուցի կտրվածքներ։
7) Մետրիկի 'տեխնոլոգիական և բիզնես
Տեխնիկական ՝ RPS, p95 latency, error rate, saturation, GC, pool usage, Kafka consumer lag։
Բիզնեսը ՝ CR գրանցումը, հաջողակ հեղինակային իրավունքը, NGR/GGR, ARPU, RTP անոմալիաները, drop-off-ը KYC-ի վրա, ռուսական սահմանների մասը։
PromQL (error-rate API) օրինակը
promql sum(rate(http_requests_total{status=~"5.."}[5m]))
/
sum(rate(http_requests_total[5m]))
8) Թրեյսինգը և OpenTelemetry-ը
Ռուսական գեյթվեյը, կամերային նվագախումբը, խաղային միջուկը, ծանուցումները, KYC/AML-ը, որը համագործակցում է պրովայդերների հետ։
Head-sampling ընդհանուր հոսքի համար + tail-sampling (բարձրացված) սխալների/լատինական սպանների և վճարումների համար։
Կոնտեքստի քարոզումը '«traceparent »/« tracestate», Kafka headers, gRPC metadata։
Մենք քնում ենք հիբրիդային իրադարձություններով '«BetPlaced», «WithdrawalRequested»։
9) Ալերտինգը առանց աղմուկի
Բազմաստիճան շեմեր (warning/critical), ֆլամպինգի ճնշում, դեդուպլիկացիա, թայմ արցունքներ։
Հարաբերակցություն. Մենք կապում ենք «5xx» + «Kafka lag» + «p95 latency PSA» -ը մեկ պատահականություն է։
SLO-based alerta: Rerror-budget-ը շարժական է։
Alerault-as-Code (GitOps), հեղափոխություն և կանոնների թեստեր։
Կանոնների օրինակ (Prometheus)
yaml groups:
- name: payments rules:
- alert: PaymentErrorSpike expr: (sum(rate(payment_errors_total[5m])) / sum(rate(payment_attempts_total[5m]))) > 0. 02 for: 10m labels: { severity: "critical", team: "payments" }
annotations:
summary: "Payment errors> 2% per 10m"
runbook: "runbooks/payments/error-spike. md"
10) Լոգարանների որոնում (օրինակ LogQL)
logql
{app="psp-orchestrator", level=~"ERROR FATAL"}
= "decline"
json amount_minor > 10000 region="EU"
Նպատակն է արագ հանել աղմուկը և առանձնացնել «թանկ» մերժումները նպատակային տարածքում։
11) Dashbords: Ի՞ նչ է անհրաժեշտ
Payments Health-ը 'PMS-ի հաջողությունը/ձախողումները, latency մեթոդով, տարածաշրջանների քարտեզը, SLA պրովայդերը։
Game System: RPS պրովայդերների, p95 մեջքի, error ratio SDK, RTP անոմալիաներ։
Player Journey: wwwww.KUS-ը ռուսական խաղն է (փոխարկելի ձագը, քայլերի միջև ժամանակը)։
Infra: Kafka lag, DB connections, cache hit ratio, www.Kubernetes (ենթատեսակների/հանգույցների ցանց)։
12) Պահպանումը, վերականգնումը և արժեքը (FinOps)
Կարդինալությունը վերահսկողության տակ է 'խուսափել բարձր փոխված պիտակներով (user _ id)։
Ռետենցիա 'hot 30-90 dn, downsampling մինչև 13 մեզ; logs hot 7-14 dn., warm 30-90 dn., cold 1-3 տարի (հաշվի առնելով կարգավորիչները)։
WORM/immutability-ի համար, Object Prok-ի համար։
Սեղմումը/կուսակցությունը և ILM քաղաքականությունը; առանձին ինդեքսներ audit/PII-safe համար։
Sampling Logs RF/DEBUG-ում; ERROR/AUDIT - ամբողջական։
13) Անվտանգությունն ու կոմպլենսը
PII/PCI 'տոկենիզացիա, քաշում, դիմակավորում; տվյալների նվազեցում։
RBAC/ABAC-ը 'լոգարանների/թրեյսների հասանելիությունը' դերերով, թվերի բաժանումը։
Գաղտնիքները և բանալիները 'մի տրամաբանեք credentials/tocens; գաղտնիքների դետեկտորները CI-ում։
Audit-trail-ը 'admink-ի մուտքեր, limits/wwwww.ru, RUDIT ինդեքսում, անփոփոխ։
Legal-hold-ը հետաքննության ժամանակ վերականգնումների սառեցման մեխանիզմ է։
14) Հեռուստատեսության տվյալների որակը
Schema Registry-ի համար/ivents (տարբերակումը, համատեղելիությունը)։
Դաշտերի միասնական ուրվագիծը (wwww.ake _ cript, չափման միավորներ)։
Թզուկի վրա (կեղտոտ իրադարձություններ, ամուսնության չափումներ)։
Backpressure-ը և պաշտպանությունը «փոթորիկներից»։
15) MSE գործընթացները, ուռուցքը և ռունբուկները
Oncoll-մատրիցա և էսկալացիա; Quiet Hours-ը և պարտատոմսերը։
Ռունբուկները կապված են ալերտների հետ (ախտորոշման քայլերը, SQL բաղադրատոմսերը, ֆիչեֆլագները դեգրադացիայի համար)։
Postmortem-ը առանց պատժի, action items-ը սեփականատերերի և դեդլինների հետ։
Թիմի ցուցանիշները ՝ MTTD/MTTR, աղմկոտ ալերտների տոկոսը, ռունբուկի ծածկումը։
16) RUM և սինթետիկ
RUM: Windows Vitals (LCP, CLS, INP), առաջնագծի սխալները, սարքերի տպագրությունները, տարածաշրջանները/պրովայդերները։
Սինթետիկա 'սցենարներ «Noviewspin spin» -ը տարբեր տարածաշրջաններից։ մասնավոր վայրեր ներքին ճանապարհների համար (adminka/bek-գրասենյակ)։
17) Օրինագծերի պրակտիկան, փորձարկումները և ավարտական աշխատանքները
Lincuem treiss-ի տարբերակների հետ (commit/artefact)։
A/B-թեգերը baggage-ում dashbord-ում «SLI-ի վրա փորձի ազդեցությունը»։
Canary/Blue-Green: Առանձին վահանակներ, error-budget burn rate։
18) Անոմալիաների և հակաֆրոդի ազդանշանների հայտնաբերումը
Վիճակագրությունը (seasonality-a) decom-rate/chargeback-risk/նոր քարտեզների բարձրացում է։
Հարաբերակցություն. <<անհաջող դեպոզիտների աճը + PMS ադապտերի նոր թողարկումը>>։
Striming կանոնները (Kafka no Flink) near-real-time ռեակցիաների համար։
19) Իրականացման ճանապարհային քարտեզը (փուլերով)
Քայլը 0-Բազիս 'JSON-Logs, միասնական կորեական դաշտեր, ծառայությունների հիմնական գծապատկերներ, ընդհանուր dashbords, առաջին ալտերտերը։
Քայլ 1 - Treising: OTel-medivation, head + tail sampling, կապ լոգարանների հետ։
Քայլ 2 - Բիզնես-SLI/SLO 'վճարումներ/եզրակացություններ/խաղային մետրեր, SLO-alerts, error-budget գործընթացներ։
Քայլը 3 - Հասուն 'Alerault-as-Code, ILM, առանձին վերականգնումներ, անոմալիա-մանկություն, ռունբուկի նախկին ծառայություն, CI/CD։
20) Խղճի համար չեկ-թերթ
- Logs միայն JSON, մեկ բանալիներ, PII դիմակավորում։
- Յուրաքանչյուր իրադարձության մեջ '«trace _ id», «բանաձև _ id», «www.relation _ id», «tenae»։
- Մետրիկները ծածկում են ոսկե ազդանշանները և բիզնեսի հոսքերը։
- SLO-ն նկարագրված է, կան error-budget և alerts burn rate-ում։
- Tail-sampling ներառված է հիբրիդային սխալների և բարձր լատենտների համար։
- ILM/վերականգնումը և WORM-ը տեղադրված են audit-logs-ի համար։
- RBAC հեռուստացույցի վրա, հասանելիության աուդիտ։
- Dashbords Payments/Game You/Player Journey/Infra։
- Ռունբուկները կապված են յուրաքանչյուր կրիտիկական ալերտայի հետ։
- Postmortems և action items - սեփականատերերի հետ։
Հավելված A 'OpenTelemetry (առաջարկություն)
`service. name`, `service. version`, `deployment. environment`
`cloud. region`, `k8s. pod. name`, `k8s. container. name`
`tenant`, `brand`, `market`, `ab_test`, `user_segment`
`payment. method`, `psp`, `game. provider`, `game. id`
Հավելված B 'SLO մեթրիկի օրինակներ
`payment_success_ratio`, `withdrawal_ttw_p95` (time-to-wallet), `psp_latency_p99`
`game_spin_latency_p95`, `provider_error_rate`, `kafka_consumer_lag`
`auth_success_ratio`, `kyc_step_dropout`, `cache_hit_ratio`
Հավելված C 'արագ հետազոտության բաղադրատոմսեր
"Աճում է" payment _ error _ rate "-ը նախատեսվում է համեմատել PFC/տարածաշրջանի/մեթոդով, ստուգել tail-treiss, տեսնել ադապտերի թողարկումը։
«p99 spins no.» Ռուսական gatway Sportwayer-ը, ստուգել պրովայդերը/ալիքները, thread-Puls-ի լիմիթները, ցանցային ցանցերը։
Kafka lag no health հյուպատոսներ, արտադրողների, backpressure, դանդաղ sinks/BD։