Logo GH

API metrik operatsiyalar

1) Javobgarlikni tayinlash va uning doirasi

API metrik - platformaning operatsion va biznes metriklaridan foydalanishning yagona nuqtasi. U quyidagilarni beradi:
  • konsistent SLI/SLO (login, depozit, stavka, chiqarib tashlash);
  • KRI (tavakkalchilikning erta indikatorlari: PSP/KYC/navbatlar/replikatsiyalar);
  • biznes-metrika (GEO/PSP/banklar bo’yicha avtorizatsiyalarning muvaffaqiyati, muvaffaqiyatli stavkalar ulushi, asosiy yo’llarning davomiyligi p95/p99);
  • dashbordlar, alerting, status-sahifalar, hisobotlar uchun xavfsiz, arzon va oldindan aytib bo’ladigan o’qishlar.

2) Arxitektura prinsiplari

Read-heavy, write-few: API faqat TSDB/kesh agregatsiyalarini o’qiydi.
SLO-first: javoblar vaqt bo’yicha oldindan aytib bo’ladi; xatolar va tanazzullar - shaffof signalizatsiya qilinadi.
Cost-aware: downsampling, kvotalar, SDKda kanareya chichlari.
Privacy-by-design: meta maʼlumotlar/yorliqlarda hech qanday PII mavjud emas; tokenlar, geo-geyt, SoD.
Multi-tenant: brend/hudud/atrof-muhit bo’yicha izolyatsiya.

3) Ma’lumotlar modeli (sirt)

Metriklar seriyasi =’metric _ id’+’labels {}’+’timestamp’+’value’(+ ixtiyoriy’exemplar {trace _ id =...}’).

3. 1 toifalar

SLI/SLO: `auth_success_rate`, `bet_settle_p99_ms`, `withdraw_tat_p95_ms`, `api_5xx_rate`.
KRI: `queue_consumer_lag`, `db_replication_lag`, `psp_soft_decline_rate`.
Бизнес: `deposits_success_pct`, `bets_success_pct`, `kyc_pass_rate`.
Инфра: `cpu_util`, `cache_hit_ratio`, `cdn_waf_block_rate`.

3. 2 Yorliqlar (qat’iy cheklangan)

`region`, `tenant`, `environment`, `service`, `psp`, `bank_group`, `geo`, `device`, `version`, `component`.
Taqiqlangan:’userId’,’sessionId’, xom xarita/hujjat raqamlari.

4) Versiyalash va muvofiqlik

Asosiy yo’l: ’/v1/metrics/...’; mos kelmaydigan o’zgarishlar - faqat yangi’vX’da.
Yorliqlar/seriyalar qoʻshish - backward-compatible.
Semantikani oʻzgartirish - javobdagi’schema _ version’maydoni va grace-davri orqali.
Sxemalar katalogi ’/v1/schemas’sifatida e’lon qilinadi.

5) Endpointlar (gRPC/GraphQL ga o’xshash REST)

1. `GET /v1/metrics/query`

Moslamalar:
  • `metric` (multi), `from`, `to`, `step` (резолюция), `agg` (`avg|sum|min|max|p50|p95|p99`),
  • `filter[label]=value` (multi), `group_by=label1,label2`,
  • `downsample=1m|5m|1h`, `exemplars=true|false`, `limit` (рядов), `page`.
  • Javob:’{metric, labels {}, points: [[ts, value]], exemplars?}’.

2. `POST /v1/metrics/bulk-query`

Tanasi: bitta batch bilan 50 so’rovgacha. Murakkab dashbordlar uchun so’rovlarni tejaydi.

3. `GET /v1/metrics/instant`

Joriy «ts» (yoki «hozir») koʻrsatilgan filtrlar bilan.

4. `GET /v1/metrics/catalog`

Mavjud metriklar ro’yxati, tavsiflar, yorliqlar, ruxsat etilgan agregatsiyalar, SLO-bog’lamalar.

5. `GET /v1/metrics/health`

API holati: latency p95, keshning ishlamay qolishi, kesh xit ulushi.

6. `GET /v1/metrics/slo`

Tayyor SLO-vyu: xatolar byudjeti sarfi (fast/slow), maqsad maqomi.

6) So’rovlar namunalari

6. 1 TRda PSP bo’yicha avtorizatsiyalarning muvaffaqiyati, 1 min grid, p95:


GET /v1/metrics/query? metric=auth_success_rate&from=2025-11-01T13:00:00Z&to=2025-11-01T16:00:00Z&step=1m&agg=p95&filter[geo]=TR&group_by=psp&downsample=1m

6. 2 p99 «bet → settle» mintaqalar bo’yicha, exemplars bilan (treys-misollar):


GET /v1/metrics/query? metric=bet_settle_p99_ms&from=...&to=...&step=5m&group_by=region&exemplars=true

6. 3 EU bo’yicha SLO depozitlarining tezkor maqomi:


GET /v1/metrics/slo? domain=payments&region=EU&tenant=brandA

6. 3 so’rovdan 4 batch (POST/bulk-query) - qatlamli bitta grafa uchun.

7) Agregatsiyalar va pertsentillar

p50/p95/p99 pertsentillari TSDB/agregator darajasida hisoblab chiqariladi; ’downsample’ da - to’g "ri kompozitsiyali (t-digest/HDR).
’group _ by’ faqat kardinallikni buzmaslik uchun whitelisted-yorliqlar orqali ruxsat berilgan.
’step’ validatsiya qilinadi: realtime uchun kamida 10s, ommaviy dashbordlar uchun 1m.

8) Kesh, downsampling va yangilik

Ko’p darajali kesh: in-memory (30-60 s gacha), taqsimlangan (5 minutgacha), ommaviy SLO-vyu uchun CDN.
Downsampling: katta oynalarda avtomat (’> 24h’) → 5m/1s nuqtalar.
Freshness-заголовки: `X-Data-Freshness: 12s`, `X-Downsample: 1m`, `X-Partial: true|false`.

9) Multi-tenant va izolyatsiya

Har bir soʻrovda «tenant» (token/yorliqlarda) boʻlishi kerak.
ABAC/RBAC: rol/siyosat’tenant, region, environment, metric_id'’ga kirishni cheklaydi.
Show/charge-back:’X-Query-Cost-Estimate’sarlavhalari va usage-hisoblagichlar.

10) Autentifikatsiya va xavfsizlik

OAuth2 mTLS/scope cheklangan servis tokenlari.
SoD: tartibga solish xavfi bo’lgan metriklardan foydalanish imkoniyati (moliya, RG) - alohida rollar.
Rate limits: mijoz kaliti va’metric _ id’.
PII-sanitariya: server taqiqlangan filtrlar/yorliqlar yo’qligini tasdiqlaydi.

11) Geo-rezidensiya va komplayens

Ma’lumotlar rezidentlik siyosati bo’yicha mintaqaviy storajlardan (EU/LATAM/APAC) o’qiladi.
Kros-mintaqaviy so’rovlar - faqat PIIsiz agregatlar uchun va’compliance _ scope’mavjud bo’lganda.

12) Nusxalar/Exemplars va korrelyatsiya

Agar’exemplars = true’javob bersa, tezkor RCA uchun bir juft reprezentativ’trace _ id’ga (PIIsiz) havolalar qaytariladi.
Korrelyatsiya:’correlation _ id’javob meta-ma’lumotlarida mavjud.

13) SLA API va xatolar

Javob SLA: p95 ≤ 300 ms (kesh), ≤ 1. 5 s (sovuq yo’l), foydalanish imkoniyati ≥ 99. 9%.

Kodlar:
  • ’400’ - noto’g’ri so’rov (juda ko’p’group _ by’, yomon’step’),
  • ’403’ - yetarli huquqlar/tenant,
  • ’409’ - sxemalar to’qnashuvi,
  • ’429’ - kvota/reyt-limit,
  • ’502/504’ - storajning degradatsiyasi (sarlavhalarda - downsample/step bo’yicha tavsiyalar),
  • ’206’ - qisman javob (shardlarning bir qismi mavjud emas).
  • Diagnostika sarlavhalari:’X-Query-Plan’,’X-Query-Cache’,’X-Query-Shards’,’X-RateLimit-Remaining’.

14) Kvotalar, reyt-limitlar va backpressure

Andoza: mijoz uchun 10 rps, javob uchun 50 seriya, 3 soat,’step ≥ 10c’.
Burst-tokenlar: dashbordlar uchun katta ekran, kelishilgan oynalar.
Backpressure: server’Retry-After’ni’step ’/’ downsample’ni kengaytirishni maslahat berib qaytarishi mumkin.

15) SDK va eng yaxshi amaliyotlar

SDK: Typescript/Go/Python. Andoza: tajovuzkor kesh, eksponensial backoff,’If-None-Match’.

Mijozlarga tavsiyalar:
  • ’/bulk-query’orqali soʻrovlarni guruhlang;
  • ’group _ by’ dan tejamkorlik bilan foydalaning;
  • tarixiy sharhlar uchun -’downsample = 1h’;
  • 2 s ≤ taym-autlarni va’cancellation’-tokenlarni qo’shing.

15. 1 Mini-misol (TS)

ts const res = await client. query({
metric: ["auth_success_rate"],
from: "-3h", to: "now", step: "1m",
agg: "p95",
filter: { geo: "TR", tenant: "brandA" },
group_by: ["psp"],
downsample: "1m",
exemplars: true,
timeoutMs: 1800
});

16) API kuzatilishi metrik

SLI самого API: p95_latency, error_rate, cache_hit_ratio, partial_response_rate.
KPI foydalanish: rps, javobning o’rtacha hajmi, qiymati bo’yicha top-metriklar.
Alertlar: burn-rate xato bo’yicha,’429’ko’tarilishi, cache-hit <maqsadli tushishi.
Loglar: strukturalangan, PIIsiz;’tenant’,’metric _ id’,’query _ cost _ class’.

17) FinOps siyosati

So’rovlar klasslari: A (realtime dashbordlar), B (operatsion), C (tahlillar). Turli kvotalar/TTL.
Qiymati: $/GB o’qish, $/so’rov, $/grafa. «Og’ir» metriklar va leybllar bo’yicha har oylik hisobot.
Optimallashtirish: server merge, mashhur SLO-vyu uchun pre-agregatlar, mijozga avto-maslahatlar (suggested’step/downsample’).

18) Integratsiya

Status-sahifa: tayyor SLO-vyu oʻqiydi.
Alerting: qoidalar ’/slo’va’instant’ga asoslanadi.
Hodisa-bot: qisqa presetalar orqali jadvallar/kesimlarning tezkor snippetlari.
Workflow/Release-gates: qizil SLOlarda relizlar bloki.

19) Joriy etish yo’l xaritasi (6-10 hafta)

Ned. 1-2: metriklar katalogi, whitelists leybllar, sxemalar ’/catalog’, prototip ’/query’bilan kesh va downsample.
Ned. 3-4: ’/bulk-query’, ’/slo’, exemplars, RBAC/ABAC, kvotalar/reyt-limitlar.
Ned. 5-6: geo-sharding, ommaviy vyu uchun CDN, FinOps-sarlavhalar, SLI API dashbord.
Ned. 7-8: SDK (TS/Go/Py), tavsiyalar/so’rovlar linteri, kanareya testlari.
Ned. 9-10: xaos-mashqlar (shardlar/keshlarni rad etish), qiymatni optimallashtirish, deprekeytlar siyosati.

20) Artefaktlar

Metric Catalog: id, birliklar, tavsiflar, mavjud’agg’, ruxsat etilgan yorliqlar.
Access Policy: rollar, sohalar, limitlar, SoD.
Query Style Guide: Toʻgʻri/notoʻgʻri soʻrovlar misollari.
SLO Map: SLI ning ommaviy maqsadlarga muvofiqligi.
Cost Report: eng qimmat so’rovlar/belgilar, optimallashtirish rejasi.

21) KPI/KRI API metrik

p95/99 latency, error rate, partial responses.
Cache hit ratio va CPU/IO tejash.
Javobning oʻrtacha hajmi va $/soʻrov.
’/bulk-query’ga o’tgan dashbordlar ulushi.
Yuqori darajadagi talablar tufayli sodir bo’lgan hodisalar.

22) Antipatternlar

O’nlab belgilar bo’yicha erkin’group _ by’→ kardinallik portlashi.
Parsentili, mijozga «buklangan» → buzilishlar.
30-90 kunlik so’rovlar downsample → qimmat va sekin.
Tanantlar/hududlarni avtorizatsiyasiz bitta javobda aralashtirish.
Keshsiz ochiq panellar/CDN.
’vX’ va grace-davrsiz metrikalarning semantikasini oʻzgartirish.

Jami

API metrik operatsiyalar - bu telemetriya ustida o’qishning barqaror, xavfsiz va tejamkor qatlami: standartlashtirilgan sxemalar va pertsentillar, kesh va downsampling, qattiq yorliqlar va kirish joylari, SLO-vyu va RCA uchun exemplars, shaffof SLA va qiymati. Bunday qatlam ishonchli dashbordlar, alerting, status-kommunikatsiyalar va shaxsiy, byudjet va unumdorlik uchun xavfsiz relizlar yaratishga imkon beradi.

Contact

Biz bilan bog‘laning

Har qanday savol yoki yordam bo‘yicha bizga murojaat qiling.Doimo yordam berishga tayyormiz.

Integratsiyani boshlash

Email — majburiy. Telegram yoki WhatsApp — ixtiyoriy.

Ismingiz ixtiyoriy
Email ixtiyoriy
Mavzu ixtiyoriy
Xabar ixtiyoriy
Telegram ixtiyoriy
@
Agar Telegram qoldirilgan bo‘lsa — javob Email bilan birga o‘sha yerga ham yuboriladi.
WhatsApp ixtiyoriy
Format: mamlakat kodi va raqam (masalan, +998XXXXXXXX).

Yuborish orqali ma'lumotlaringiz qayta ishlanishiga rozilik bildirasiz.