SLO/SLA we metrikler
SLO/SLA we metrikler
1) Adalgalar we iýerarhiýa
SLI (Service Level Indicator) - "ulanyjynyň bizi görşi ýaly" ölçeg görkezijisi: üstünlikli haýyşlaryň paýy, p95 gizlinlik, maglumatlaryň täzeligi, üstünlikli işlenilen batçalaryň paýy we ş.m.
SLO (Service Level Objective) - SLI-iň gözegçilik aralygyndaky maksatly bahasy (28/30/90 gün). Mysal: "99. Soraglaryň/tölegiň 9% -i 400 ms ≤ tamamlanýar".
Error budget — 1 − SLO. SLO bilen 99. 9% ýalňyşlyk býudjeti = 0. % 1 wagt/soraglar.
SLA (Agreement) - hyzmat etmegiň kanuny taýdan möhüm derejesi: SLO, ölçeg, kadadan çykmalar, öwezini dolmalar/jerimeler öz içine alýar.
2) Dizaýn etmegiň ýörelgeleri
Alamatlar> içki metrikler. SLI hakyky ulanyjy tejribesini görkezmelidir.
Esasy SLI-leriň sany az. Hyzmat üçin - 2-5 esasy: üstünlik, gizlinlik, geçirijilik/täzelik, dogrylyk.
Möhüm ýollary gurşap almak. Her bir iş ssenarisi üçin (checkout, login, webhook, ETL-ýüklemek) - SLI/SLO toplumy.
"Üstünligiň" berk semantikasy. "Kod 200" däl, "ulanyjy wagtynda jogap aldy we netijesi waliden".
Daşarky we içerki SLO-lary bölmek. Içerki - has berk; daşarky SLA ≤ 1-2 dokuz aşakda.
3) SLI katalogy (salgylanma)
3. 1 API/Onlaýn hyzmatlar
Üstünlik: 'SLI _ success = 1 − (5xx + timeout + business_error )/ all_requests'
Gizlinlik: p95/p99 'http _ server _ duration _ seconds' marşrutlar/usullar/kärendeçiler boýunça
Geçirijilik ukyby: 'RPS '/çäkler/kwotalar
Dogrulygy: dogry jogaplaryň paýy (alamatlar, shemalar, inwariantlar)
3. 2 Webhuklar/asenxron eltişler
Eltip bermek: T sekuntda we ≤ N retraýda tassyklanan wakalaryň paýy
Müşderiler: uzak gijikdirilmezden abonentleriň paýy (per-tenant)
3. 3 Maglumatlar/ETL/DWH
Täzelik (freshness): 'now − last_successful_ingest_ts'
Doly: 'ingested _ rows/ expected_rows'
Dogrulygy: hil barlagyndan geçen ýazgylaryň paýy
Payplaynlar: möhlete çenli tamamlanan joblaryň paýy
3. 4 Jübi/müşderi SDK
Müşderi üstünligi: ölümli ýalňyşlyksyz sessiýalaryň paýy
Round-trip gizlinligi: soragdan rendere çenli p95
Kesh hitleri: Keshden hyzmat edilenleriň paýy (çykyşyň alamaty hökmünde)
4) Maksatlaryň formulalary we mysallary
Elýeterlilik (haýyşlar boýunça):- `SLI_req_avail = 1 − (failed_requests / total_requests)`
- `SLO_req_avail = 99. 95% '30 güne → error budget = 0. Soraglaryň 05% -i.
- `uptime = (obs_window − downtime) / obs_window`
- ' SLO _ latency = p95 (route = "/pay") ≤ 400 ms' 7 günlük kesişlerde (1%)
- ' SLO _ freshness (dataset =" orders") ≤ 10 min' p99 24 sagatda.
5) Error budget we üýtgeşmeleri dolandyrmak
Býujet (B): 'B = 1 − SLO'.
Býudjet çykdajylary (burn): hakyky ýalňyşlyklaryň ýol berilýänlere bolan gatnaşygy.
- Artykmaç sarp etmek (burn> 1) → fihfriz, ygtybarlylyga üns.
- burn rate> X gysga penjirede - waka we kapitan. çäreler.
- Meýilleşdiriş: Sprintiň ygtybarlylyga bolan paýy geçen döwür üçin burn bilen baglanyşýar.
6) Alerting: burn rate we köp penjireli düzgünler
Pikir: çalt syzmagy we haýal süýşmegi tutýarys.
Mysal (SLO 99. 9%, býudjet 0. 1%):- Kritiki: "1 sagatda 2% býudjet" (çalt ýangyn).
- Duýduryş: "6 sagadyň dowamynda býudjetiň 5%" (süýrenýän pese gaçma).
- Çalt hadysalar üçin gysga penjire (minut-sagat).
- Tendensiýalar üçin uzyn penjire (6-24 sagat).
- Gizlinlik: p99 boýunça alert> bosagasy ≥ 5 min, flappingiň basylmagy we ýollar bilen aragatnaşyk.
error_ratio_5m = errors[5m] / requests[5m]
error_ratio_1h = errors[1h] / requests[1h]
burn_5m = error_ratio_5m / error_budget_fraction burn_1h = error_ratio_1h / error_budget_fraction alert_critical if burn_1h > 14 and burn_5m > 14 alert_warning if burn_6h > 6 and burn_30m > 6
7) Köp kärende (multi-tenant) we segmentasiýa
SLI/SLO kärendeçiler/meýilnamalar/sebitler boýunça hasaplanýar, ýogsam mediana şowsuzlyklary "ýapar".
Statistiki ähmiýetli wakalaryň iň az sany (guard-rails).
SLA nyrhlary boýunça tapawutlanyp biler (mysal üçin "Pro 99. 9%, Free 99. 5%»).
8) Gözegçilik we yzarlamalar bilen baglanyşyk
SLI metrikleri - exemplars → bilen gistogrammalardan/hasaplaýjylardan "erbet" söwdalara geçmek.
Loglar - sebäpleriň çeşmesi: wagtlar, işewürlik ýalňyşlyklarynyň kodlary, çäkler.
Maglumatlar üçin - lineage bilen baglanyşyk: "haýsy joba täzelik metrikasyny saklady".
9) Şertnamalar we SLA
SLA mazmuny:- SLI/ölçeg usulynyň/penjiräniň kesgitlemeleri.
- Kadadan çykmalar (meýilleşdirilen işler, fors-major).
- Wakalaryň we aragatnaşyklaryň tertibi (status-sahypa, RFO/RCA).
- Kompensasiýa (service credits) we talap etmegiň tertibi.
- Ýurisdiksiýasy, hereket ediş döwri, gaýtadan gözden geçirmegiň şertleri.
- Hiç haçan arhitektura we operasiýa amallaryndan has berk SLO-ny aç-açan wada bermäň.
- Içerki SLO-lary we daşarky SLA-lary bölüň.
10) Bahasy we ileri tutulmagy
Dokuzlaryň bahasy çyzykly ösmeýär. «99. 9% → 99. 99%" = başga bir binagärlik synpy (N + 1, multizon, aktiw-aktiw).
Iň gymmatly ulanyjy hereketlerine SLO goýuň.
Telemetriýanyň bahasyna gözegçilik ediň: downsampling, kwotalar, synplar boýunça göçürme we saklamak.
11) Amallar we hasabatlylyk
Hepdelik hasabatlar: hyzmatlar/kärendeçiler boýunça SLO-ny ýerine ýetirmek, býudjet çykdajylary, esasy sebäpler, gowulaşma meýilnamalary.
Jenaýatdan soňky RCA: býudjet bölekleri bilen baglanyşdyrýarys; esasy sebäpleri ýok etmek üçin wezipeleri goýýarys.
Fiçfriz: goşmagyň/aýyrmagyň ölçegleri.
12) Şablonlar (çalt başlamak üçin)
12. 1 SLO kartoçka (mysal)
Service: Checkout API
SLI:
success: 1 - (5xx+timeouts+biz_failures)/all latency_p95: p95(http_server_duration_seconds{route="/pay"})
SLO:
success: 99. 95% / 30d latency_p95: ≤ 400ms / 7d
Windows:
primary: 30d rolling secondary: 7d rolling
Burn Alerts:
critical: use 1h/5m > 14 warning: use 6h/30m > 6
Owner: Team Checkout
Tenancy: per-tenant (≥ 1k req/day threshold)
Dashboards: RED + trace exemplars
12. 2 "SLO kämillik" tablisasy
13) Düzgünleriň mysallary (bölekler)
PromQL - üstünlik/ýalňyşlyklar/gizlinlik:promql
Error rate (5xx + timeout) for the sum (rate (http_requests_total{route="/pay",code=~"5. route. 599"}[5m]))
/ sum(rate(http_requests_total{route="/pay"}[5m]))
p99 histogram_quantile latency (0. 99, sum(rate(http_server_duration_seconds_bucket{route="/pay"}[5m])) by (le))
Burn-rate alertleri:
promql error_budget_fraction = 0. 001 for 99. 9%
(err_rate_5m / 0. 001 > 14) and (err_rate_1h / 0. 001 > 14) # critical
(err_rate_30m / 0. 001 > 6) and (err_rate_6h / 0. 001 > 6) # warning
Maglumatlaryň täzeligi:
promql
Data order lag (minutes)
(max(time()) - max(last_ingest_ts_seconds{dataset="orders"})) / 60
14) Maglumatlar we ML üçin SLO (aýratynlyklary)
Maglumatlaryň üsti bilen SLO: p99 täzeligi, p99 dolulygy, şowsuzlykdan soň "gaýtadan işlemek" wagty.
Maglumat şertnamalary: garaşylýan shemalar, göwrümler, möhletler; bozulma → maglumat hadysasy.
ML: içgysgynçlygyň gizlinligi üçin SLO, fich-storyň elýeterliligi üçin SLA, dreýfiň gözegçiligi (modeliň hili - SLA-dan başga aýratyn mowzuk).
15) Howpsuzlyk we gizlinlik bilen integrasiýa
PII/syrsyz SLI ýazgylary; bellik/gizlemek.
SLO/SLA üýtgetmeleriniň we üýtgemeýän žurnallarda hasabatlaryň çap edilmeginiň barlagy.
Düzgünleşdiriji ýollar üçin (tölegler/PII) - aýratyn, has berk SLO.
16) Çek-listler
Hyzmat başlamazdan ozal
- SLI "üstünlik/gizlinlik/geçirijilik/täzelik" kesgitlenildi.
- SLO we penjireler kesgitlenildi; ýalňyşlyklaryň býudjeti hasaplandy.
- Burn-rate aladalary sazlandy (gysga + uzyn).
- Daşbordlar RED + exemplars → marşrutlar; runibuki hadysalar.
- Köp kärende kesişleri we ähmiýetli çäkler.
- Fiçfriz we hasabat bermek tertibi.
Amal
- SLO/burn boýunça hepdelik hasabat, hardening meýilnamalary.
- Arhitektura/ýük üýtgäninde SLO-ny gaýtadan bahalandyrmak.
- Wagtal-wagtal "wakalar-maşklar" we runibuklary täzelemek.
- Telemetriýanyň bahasyna we SLI mukdaryna gözegçilik.
17) Runbook’и
Runbook: p99/pay çalt ösüş
1. Alert p99> bosagasy → dashboard açmak → exemplar-dan trasa geçmek.
2. Dar CLIENT/SERVER-span tapyň, sebitleri/wersiýalary deňeşdiriň.
3. Pese gaçmagy açyň (keş/limit/follbek), garaşlylyk toparyna habar beriň.
4. Durnuklaşandan soň - RCA, optimizasiýa meseleleri, SLO ölçeglerini täzelemek.
Runbook: býudjet çykdajylary> hepdede 50%
1. Pikleri doňduryň, ygtybarlylygyň ileri tutulmagyny ýokarlandyryň.
2. Hatalaryň toparlanmagy: marşrutlar/kärendeçiler/garaşlylyk boýunça.
3. Düzedişleri çykaryň → tendensiýanyň dikeldilendigini tassyklaň.
4. Retrospektiv we alertleri/bosagalary düzetmek.
18) FAQ
S: Näçe SLO gerek?
O: Möhüm ulanyjy ssenarilerine iň az: üstünlik + gizlinlik. Galan zatlaryň hemmesi zerur.
S: Has gowy zat - wagt ýa-da isleg boýunça elýeterlilik?
A: Haýyşlar boýunça - has köp ulanyjy metrikasy. Wagt boýunça tor komponentleri/infra üçin amatly.
S: Näme üçin ortaça däl?
O: Orta guýrugy gizleýär; ulanyjy p95/p99 duýýar.
S: Nädip "nurbatlary" gaty berkitmeli däl?
A: Hakyky maksatlar bilen başlaň (taryhy maglumatlar), soňra kämillik ýaşyna ýetensoň hasam berkitiň.
- "Syn edilişi: ýazgylary, metrikleri, yzarlamalary"
- "Paýlanan ýollar"
- "Audit we üýtgemeýän žurnallar"
- "Webhuklary eltmegiň kepillikleri"
- "In Transit/At Rest şifrlemek"
- "Maglumatlaryň gelip çykyşy (Lineage)"