Logo GH

Synlamak we telemetriýa

(Bölüm: Tehnologiýalar we infrastruktura)

Gysgaça gysgaça

Syn etmek "näme üçin beýle işleýär?" Diýip jogap bermek ukybydyr täze binalary çykarman. "iGaming" -de bu möhüm: iň ýokary ýaryşlar, töleg iň ýokary derejeleri, köp sebitlilik we jogapkär gambling/PII boýunça talaplar. Bazis - umumy kesgitleýjiler we standartlar (OpenTelemetry), SLO-şertnamalar, seslere çydamly alerting we baha gözegçiligi bilen birleşdirilen metrikler, loglar, yzarlamalar.

1) Gözegçilik ediliş çarçuwasy: ol näme

Metrikler: RED/USE, KPI, SLI. TSDB-de saklanylýar.
Loglar (tekstdäki wakalar/JSON): audit, ýalňyşlyklar, işewürlik faktlary, howpsuzlyk.
Yzarlamalar (spenler): hyzmatlaryň üsti bilen soramagyň ýoly, gizlinlik, gijikdirmegiň sebäpleri.
Profil: CPU/ýat/eBPF-akymlar, heap/lock-kontenşn.
RUM we sintetika: hakyky ulanyjylar (web/app) + robot barlaglary.
Telemetriýanyň katalogy: shemalar, PII syýasaty, saklanyş möhletleri, baha bellikleri.

2) Signallaryň taksonomiýasy we ýörelgeleri

RED для API: Rate, Errors, Duration.
Infrastruktura üçin USE: Utilization, Saturation, Errors (CPU, diskler, tor, nobatlar).
SLI/SLO: ölçenen görkezijiler (mysal üçin, üstünlikli soraglar/hemme zat, p95 latency), elýeterlilik maksatlary (mysal üçin, "99. 9% 30 gün"), ýalňyşlyklaryň býudjeti → prosesleriň triggeri.
Akylly ýokary-cardinality: bellikler (sebit/tenant/üpjün ediji) böleklerinde peýdaly bolmaly, ýöne TSDB-ni partlatmaly däldir.

3) Standartlar we ahyrky baglanyşyk

OpenTelemetry (OTel): Metrikler, bloglar we yzarlamalar üçin ýeke-täk SDK/protokol.
Identifikatorlary: 'trace _ id', 'span _ id', 'correlation _ id', 'player _ id' (lakamly), 'payment _ route'.
ID akymy: giriş şlýuzy → ähli mikroservisler → tölegler/PSP → nobatlar/joblar → girişler/metrikler/spenler.

Mysal: Baglanyşyk sözbaşylary


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

4) Metrikler: nämäni we nädip ölçeýäris

At/bellikler

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

Prometheus mysallary

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

Gistogrammalar we exemplars

Gizlinlik gistogrammalaryny (native-histograms/ β uckets) saklaň we "haýal baketden" belli bir trasa bökmek üçin exemplary 'trace _ id' bilen baglanyşdyryň.

5) Logi: gurluş we ygtybarly

Diňe JSON (prodda "free-form" ýok).
Поля: `timestamp`, `severity`, `service`, `trace_id`, `correlation_id`, `player_id_hash`, `event`, `amount`, `currency`, `ip_hash`.
PII gizlemek/kesmek, duýgur üçin aýratyn indeksler/retention.
Sahypalaryň paýlaýjylary: parsing → normalizasiýa → baýlaşdyrmak (geo/ASN) → redaktirlemek PII → indeksirlemek.

JSON wakasynyň mysaly

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) Ýollar: wagt ýitirilýän ýerde

Spenler: giriş soragy, üpjün edijileriň çagyryşlary (PSP/oýun üpjün edijileri), BD/nagt pul, hyzmatara RPC.
Atributlar: 'db. system`, `net. peer. name`, `messaging. system`, `psp. route`, `game. provider`.

Sampling:
  • göwrümi üçin head-based,
  • tail-based (şertlere görä: ýalňyşlyklar, p95 +, VIP-segment),
  • töleg/PII-kritiki üçin guaranteed-keep.

7) Frontuň we mobaýlyň syn edilmegi

RUM: TTFB, FCP/LCP/CLS/INP, JS ýalňyşlyklary, torlar we SPA-routing.
Crash-reports: simwolizasiýa, deobfuskasiýa, bild wersiýasy, enjam/OS.
Sintetika: giriş/goýum/stawka ssenarileri; geo-paýlanan barlaglar.

8) SLO, SLI we ýalňyşlyklaryň býudjeti

SLO mysaly (psevdo-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

"Her metrika" boýunça däl-de, ýalňyşlyklaryň býudjeti boýunça alerting.
Býudjet ýakylanda freeze-proseduralar: goýberilişleri/kanareýany çäklendirmek.

9) Sessiz alerting

Multi-window, multi-burn düzgünleri: gysga/uzyn penjire.
De-duplikasiýa/ruting: hyzmatlara/sebitlere/on-call-daky kritiklige görä.
Runbook URL we kontekstiň awto-ýygnalmagy (soňky deploes, konfigurasiýa üýtgemeleri, garaşlylyk grafikasy).
Meýilleşdirilen iş wagtynda asuda sagatlar we basyş.

Düzgüniň mysaly (PromQL pikiri)

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) Profiling we eBPF

eBPF/profiller: CPU/alloc flame-grafalary, I/O-gizlinlik, tor damjalary, Syscall-anomaliýalary.
Dar ýerlerde p99, "jitter" we seýrek asylmak üçin peýdalydyr.

11) Işewürlige gözegçilik etmek (product & risk)

Maliýe/monetizasiýa: goýumlaryň konwersiýasy, TTW (time-to-wallet), awtoriz ./settl, ýatyryşlar/çarjbekler.
Oýun işjeňligi: retenşn/strik, live-stawkalaryň paýy, üpjün edijileriň "ýelmeşmegi".
Antifrod/gabaw: hereketleriň tizligi, enjamlaryň/IP gabat gelmegi, korrelýasiýa.
RG-görkezijiler: uzyn sessiýalar, "dogon", biftekleriň ösüşi.
Iş metrikleri tehnometrikler we relizler (annotation events) bilen baglanyşyklydyr.

12) Howpsuzlyk, PII we laýyklyk

Data-zones: dataset/log bellikleri ('pii = true', 'region = EU').
Indekslemezden öň gizlemek, kesgitleýjileri lakamlaşdyrmak.
audit üçin WORM-ammar; Blogyň roly.
Saklamak möhletleri: tehnloglar/audit/biznes üçin dürli.
Loglarda çig syrlary gadagan etmek; CI-de skan barlagy.

13) Gymmaty dolandyrmak (FinOps)

Kardinallyk çägi: seresap boluň 'user _ id', 'session _ id'.
Partiýa/retenşn: gyzgyn (7-14 gün), ýyly (30-90), sowuk (arhiw).
Sampling trass (tail-based) we downsampling metrik.
Billing 'team', 'service', 'tenant': "syn edilişini kim ýakýar".

14) Gurallar (salgylanma-stek)

Metrikler: Prometheus/Metrikler üçin leýk, Grafana daşbordlary.
Logy: Loki/ELK; ingestion düzgünleri, reduction/parsing.
Söwda: Tempo/Jaeger/OTel-kollektorlar; metrlerden exemplars-linkler.
Sintetika: Blackbox-eksport, brauzer robotlary.
Alerting: Alertmanager/chat-integrasiýa, on-call rotasiýa.
Profiling: eBPF/continuous profiling.

15) Mysallar: binýady çalt ornaşdyrmak

(a) API üçin RED eksport ediji (psevdokod):
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) Logda trace_id goýmak (middleware-ideýa):
go tid:= ctx. Value("trace_id")
logger = logger. With("trace_id", tid)
logger. Info("deposit-accepted", "amount", amt, "route", route)
(c) Metriklerdäki nusgalar (exemplars):
prometheus http_request_duration_seconds_bucket{..., le="0. 25"} 1023 # exemplar: trace_id=9c5e...

16) Prosesler we amallar

Metrik/bellikleriň bitewi sözlügi (naming-guide) we dashbord şablony.
Release-annotations grafalarda awtomatiki usulda.
Wakalar: kartoçka, wagtlaýyn, RCA aýyplamasyz, action items.
Okuw duýduryşlary ("game-day"): ýykylmagyna, PSP gijikdirilmegine, kesiň aşa gyzmagyna öýkünmek.
Runbooks: ädimme-ädim görkezmeler we alertlerden awto baglanyşyklar.

17) Kämillik ýaşyna ýetmegiň çek-sanawy

1. OTel SDK/kollektor → metrikler/bloglar/söwdalaryň ýeke-täk eksporty.
2. RED/USE esasy API-ler boýunça ähli SLI/SLO hyzmatlaryny ýapýar.
3. 'trace _ id' arabaglanyşygy ⇄ metrika ⇄ (exemplars, jump-links).
4. Multi-burn we runabuk-baglanyşyklar bilen ýalňyşlyklaryň býudjeti boýunça alertler.
5. RUM + sintetika "depozit/stawka/çykarmak".
6. Ak sanawda profil (eBPF).
7. PII-syýasatlar: maskalanmak, zolaklar, elýeterlilik, saklanyş möhletleri.
8. Telemetriýanyň bahasy boýunça maliýe hasabaty (bellikler 'team/service').
9. "Iň ýokary ýüke taýynlyk": synag-meýilnama, keşleri gyzdyrmak, alert-şablonlar.
10. Yzygiderli RCA we SLO/bosagalara täzeden garamak.

18) Antipatternler

Gurluşsyz we 'trace _ id'.
Her metrika boýunça alertler → alert-fetIg.
Dogry baketsiz gistogrammalar → "tekiz" p95.
Bellikleriň çäksiz kardinallygy → bahanyň partlamasy.
RUM/sintetikanyň ýoklugy - "hemme zat gowy", ýöne ulanyjy ýok.
PII-iň tehnloglar bilen garyşmagy, möhletsiz retensiýa.
Telemetriýanyň KPI-den izolýasiýasy - "gizlinlik pese gaçýar, girdeji hem".

Netijeler

Güýçli gözegçilik önümiň, SRE-iň, howpsuzlygyň we tölegleriň arasyndaky umumy dildir. OTel-iň aşagyndaky metrikleri, ýazgylary, ýollary birleşdirip, SLO-ny ýalňyşlyklaryň býudjeti bilen girizip, alertingiň akylly we dolandyrylýan bahasyna öwrüp, ozal problemalary duýýan, has çalt dikeldýän we traffigiň iň ýokary derejelerinden we ýaryş ýüklerinden geçip bilýän ulgam alarsyňyz.

Contact

Biziň bilen habarlaşyň

Islendik sorag ýa-da goldaw boýunça bize ýazyp bilersiňiz.Biz hemişe kömek etmäge taýýar.

Telegram
@Gamble_GC
Integrasiýany başlamak

Email — hökmany. Telegram ýa-da WhatsApp — islege görä.

Adyňyz obýýektiw däl / islege görä
Email obýýektiw däl / islege görä
Tema obýýektiw däl / islege görä
Habar obýýektiw däl / islege görä
Telegram obýýektiw däl / islege görä
@
Eger Telegram görkezen bolsaňyz — Email-den daşary şol ýerden hem jogap bereris.
WhatsApp obýýektiw däl / islege görä
Format: ýurduň kody we belgi (meselem, +993XXXXXXXX).

Düwmäni basmak bilen siz maglumatlaryňyzyň işlenmegine razylyk berýärsiňiz.