API analitikleri we öndürijilik metrikleri
1) Bu näme üçin zerur?
API - platformanyň "gan aýlanyş ulgamy". Berk metriklersiz edip bilmeris:- SLO we SLA-nyň ýerine ýetirilendigini subut etmek,
- soraglaryň geçiriş ukybyny we ykdysadyýetini dolandyrmak,
- zaýalanmalary çalt lokallaşdyrmak (p99-guýruklar, 5xx partlamalar),
- işe täsiri boýunça optimizasiýalary ileri tutmak.
Maksat: her bir soragyň perimetrden DB-e çenli umumy kesgitleýjiler we ylalaşylan SLI bilen gözegçilik edilýän ýeke-täk gözegçilik modeli.
2) Metrikleriň taksonomiýasy
Tehniki: RPS, gizlinlik (p50/p95/p99), error rate (4xx/5xx), saturation (CPU, memory, file-desc), queue time.
Önümler: üstünlikli amallar/min, ädimiň öwrülişigi (200/total), rate-limited paýy (429), retralar, ulanyjy segmentleri.
Bahasy: cost/request (CPU-ms + egress + BD-soraglar), çit/endpoint bahasy, $/tenant, $/1k jaňlar.
3) "Altyn signallar": RED we USE
RED (API üçin):- Rate - soraglar/sek (endpoint/tenant/meýilnama boýunça).
- Errors - 4xx/5xx/429 paýlar we absolýutlar.
- Duration - p50/p95/p99 end-to-end we tapgyrlar boýunça (ingress → app → DB → üçünji tarap).
- Utilization - CPU/IO/kanaly ýüklemek.
- Saturation - nobatlar (run-queue, backlog, DB wait).
- Errors - sürüjileriň/wagtlaryň ýalňyşlyklary.
4) Esasy kesgitlemeler we formulalar
Availability SLI: `1 − (5xx + gateway_timeout) / all_requests`.
Success SLI: '2xx/( all − 429_shadow)' ("kölegeli" bloklardan başga).
Apdex: `(|T≤T| + 0. 5· | T ≤ 4T | )/all ', bu ýerde' T '- maksatly "gowy" bosagasy.
Tail amplification: 'p99 _ total − max (p99_stage_i)' - nobatlaryň/kompozisiýanyň goşandy.
Error budget (aý) -de 99. 9%: 'býudjet = 0. _ Döwrüň% 1 wagty.
latency histogrammalarynyň maslahat berilýän percentil binleri: '[5ms, 10ms, 25ms, 50ms, 100ms, 250ms, 500ms, 1s, 2. 5s, 5s]`.
5) SLI/SLO we burn-rate boýunça alerting
SLO mysaly (köpçülige açyk API):- Elýeterlilik: ≥ 99. 9 %/30 gün.
- p95 latentlik 'GET/wallet/balance' <150 ms; 'POST/payments' <400 ms.
- Hatalar '5xx' <0. 2%. '429' (gaty) <1% umumy traffigiň.
- 1 sagat üçin 2% býudjet ýa-da 6 sagat üçin 5% → page inerener.
- Günde 10% → RCA-nyň ileri tutulmagy.
6) Metrikler toplumy (ony ýygnamaly)
Perimetrde (şlýuz/WAF):- `http_requests_total{route,method,status,tenant,plan}`
- 'http _ request _ duration _ seconds _ bucket {route,...}' (histogram)
- `retries_total{reason}`, `rate_limited_total{key,policy}`
- Beden ölçegleri: 'request _ bytes', 'response _ bytes'
- `db_client_requests_total{op,table}`, `db_latency_seconds_bucket{op}`
- 'cache _ ops _ total {op}', hit-rate kesişen daşarky jaňlar: 'outbound _ calls _ total {provider, op}', latency/hatalar/nobat wagtlary/howuzlar: uzynlyklar/gijikdirmeler, işjeň workerler resurs USE: CPU, RSS, FD, GC-arakesmeler
Iş bellikleri: 'tenant _ id', 'region', 'kyc _ level', 'plan', 'feature _ flag'.
7) Yzarlamak we baglanyşyk (OpenTelemetry)
W3C Trace-Context ('traceparent', 'tracestate') ähli hoplarda.
Span-lar tapgyrlar boýunça: ingress → authZ → app handler → DB/Redis → PSP/daşarky.
Attributes/bellikleri: 'http. route`, `enduser. id`, `tenant. id`, `idempotency. key`, `risk. score`.
Exemplars: latency/error grafiklerindäki nokatlary anyk trace-id bilen baglanyşdyryň.
- "adaty" ýollar üçin head-based 1-10%,
- guýruklar üçin tail-based (haýal/nädogry alýarys),
- iň ýokary we hadysalar üçin adaptive.
- Baggage: 'tenant '/' risk' her bir wakany bellemezden kesmek üçin.
8) Logi: gurluşy we gizlinligi
Gurluşly JSON; Hökmany meýdanlar: 'ts', 'trace _ id', 'span _ id', 'route', 'status', 'latency _ ms', 'tenant', 'user _ id _ hash'.
PII syýasaty: PAN/PII gizläň; syrlary/bellikleri gadagan ediň.
Sampling log: 4xx/5xx/429 we "uzyn" soraglar üçin ýokary.
9) Daşbordlaryň kartoçkasy (iň az toplum)
1. Exec-Summary: RPS, Availability, Error-rate, p95/p99 latency, 429 paý, burn-rate býudjet.
2. Per-Route: RPS/ýalňyşlyklar/guýruklar boýunça iň ýokary endointler; wersiýalary deňeşdirmek (kanareýka).
3. Per-Tenant/Plan: ýük/baha/ýalňyşlyklar boýunça öňdebaryjy.
4. Dependency Health: DB, cache, PSP/daşarky - latency, ýalňyşlyklar, saturation.
5. Capacity: CPU/RAM/FD, nobatlar, connection pool, GC, konteýner çäkleri.
6. Howpsuzlyk/Abuse: 401/403, 429/syýasatlar, geo/ASN bölekleri, retraý partlamalary.
10) Alertler (bosagaly we trendli)
'error _ rate {route}'> 2% (5 minut) we RPS> N → pager.
'p99 _ latency {critical}'> maksat bosagasy (10 minut).
'burn _ rate' býujet boýunça (§ 5 serediň).
DB 'timeouts '/' deadlocks' ýa-da 'queue _ time'> X ms.
Daşarky üpjün edijiler: 'outbound _ 5xx _ rate {provider}'> 1% + SLO-garaşly.
11) Kuwwatly meýilleşdiriş we öndürijilik
Kiçijik kanun: 'L = λ· W' (nobatyň ortaça uzynlygy = traffik × ortaça wagt).
p95 maksadyny goýýarys: 'ingress + app + DB + external + queue'.
Concurrency budget: Bir wagtyň özünde iň ýokary write amallaryny ýazga alýarys.
Budget-metrika: "Haýyş üçin ms CPU"; iň ýokary derejä çenli 30-50% ätiýaçlyk saklaýarys.
rate-limit bilen özara gatnaşyk: kwotanyň "potolok" soraglarynyň paýyny we gizlinlige täsirini ölçäň.
12) Ýükleýiş we sintetiki barlaglar
Görnüşleri: esasy ýük, × 10, "basgançaklar", uzak möhletli platolar, stres/chaos (nod öldürmek, toruň gijikdirilmegi), tankydy müşderi ssenarileri boýunça sintetika.
Profillemek: CPU/alloc/lock-contention, N + 1 (SQL/HTTP), haýal kodlar.
Regreslere gözegçilik: p95/p99/goýberilmezinden öň/soň ýalňyşlyklary deňeşdirmek (kanareýa).
13) Bahasy (Cost-Observability)
Çykdajy ölçegleri: 'cpu _ ms', 'egress _ bytes', 'db _ calls', '$ per 1k requests'.
Endpoint/tenant/fichu üçin allokasiýa: orkestratordan billing bellikleri + ýüküň metrikasy → API unit-ykdysadyýeti boýunça hasabat.
Optimizasiýa algoritmi: 'traffic × cost × (p95 − maksat)' önümi boýunça TOP-endpointleri saýlaýarys.
14) Analitikanyň we "adalatlylygyň" per-tenanty
Ähli esasy metrikler - 'tenant _ id/plan' belligi bilen.
Guýruklarda "agyr" müşderileriň paýy p99; aýry-aýry çäklendirmeler/kwotalar we retraýlaryň býudjetleri.
Adalatly şeýring: artykmaç ýüklenende "gaty" kärendeçileriň paýyny azaldýarys.
15) iGaming/Maliýe aýratynlyklary
Kesmeler 'kyc _ level', 'risk _ tier', 'payment _ method'.
"Pul" ýollary üçin SLI ('POST/deposits', 'POST/withdrawals'): aşakdaky p95 maksatly, aýry-aýry ýalňyşlyk býudjetleri.
Time-to-Wallet metrikleri (TTW), antifrod bilen awtobloklaryň paýy, tölegiň öwrülişigi.
Audit: maliýe hereketleri we antifrod çözgütleri üçin üýtgemeýän žurnallar.
16) Instrumentasiýa: durmuşa geçirmek tejribesi
Metrleriň ady (mysal):- `api_http_requests_total` (counter)
- `api_http_request_duration_seconds` (histogram)
- `api_outbound_requests_total`, `api_db_query_duration_seconds`
- `api_rate_limited_total`, `api_retry_total{reason}`
Лейблы: `route`, `method`, `status_class`, `tenant`, `region`, `version`, `canary`, `provider`, `db_table`.
Kardinallyk: Erkin manylardan gaça duruň (user_id), "bakets "/hesh.
Exemplars: p95/p99 → trace-e basyň.
17) Antipatternler
Percentilleriň ýerine ortaça; status-synplara bölünişigiň ýoklugy.
Ylalaşylmadyk 'route '/' path' (dinamiki ID belgä "tikilýär").
Ýokary kardinally bellikler (raw user_id, IP).
Daşarky üpjün edijileriň aýratyn hasaba alynmazlygy (PSP/3rd-party).
"Ses" boýunça alertler (ýekeje we bir bosagada).
p99 (hakyky zaýalanmagy gizleýär).
18) Prod-taýynlygyň gözegçilik sanawy
- SLI/SLO we error-budget kesgitlenildi, iş bilen ylalaşyldy.
- latency we status synplary; Dashbordlarda p95/p99.
- Doly yzarlama (OTel), ýazgylaryň/metrikleriň/treýsleriň baglanyşygy.
- Burn-rate (iki penjireli) alertleri, p99 we error-rate çäkleri.
- Per-tenant/per-plan kesimleri we bahasy boýunça hasabatlar.
- Daşbordlar: Exec, Per-Route, Dependencies, Capacity, Abuse.
- Ýük ssenarileri (burst/plato/stres), profil.
- Jitter bilen retraý syýasaty; retraýlaryň RPS-e edýän täsirini hasaba almak.
- Hyzmatdaşlar we jemgyýetçilik müşderileri üçin SLA/SLO resminamalary.
- Retrenşn/bloglary gizlemek, PII goragy.
19) TL; DR
SLI/SLO we error-budget töwereginde gözegçilik guruň, RED/USE ölçäň, p95/p99 we "queue time" latency histogrammalaryny ýygnaň, perimetrden BD-e çenli ýeke-täk trace-id paýlaň, tail/adaptive-sampling ulanyň, per-tenant saklaň/çykdajy bölekleri we iki penjireli burn-rate-alerting. Nobatlaryň kanunlary we iş metrikasyna täsiri boýunça kuwwaty meýilleşdiriň; antipatternler - percentilleriň ýerine ortaça, ýokary kardinallyk we hasaba alynmadyk daşarky garaşlylyk.