GH GambleHub

SLO/SLA և չափումներ

SLO/SLA և մետրերը

1) Տերմիններ և հիերարխիա

SLI (Windows Level Indications) - չափված ցուցանիշը «ինչպես տեսնում է մեզ օգտագործողը» 'հաջողակ հարցումների մասնաբաժինը, p95 լատենտ, տվյալների թարմությունը, հաջողությամբ մշակված մարտերի մասնաբաժինը և այլն։

SLO (Systel Level Objective) - SLI-ի ամբողջ արժեքը դիտարկման սահմաններում (28/30/90 օր)։ Օրինակ ՝ "99. Հարցումների 9 տոկոսը/105 400 մզ է"։

Error budget — 1 − SLO. SLO 99-ում։ 9% սխալների բյուջե = 0։ 1 տոկոսը/հարցումները։

SLA (Agream) - ծառայության իրավաբանորեն նշանակալի մակարդակը 'ներառում է SLO, չափումը, բացառությունները, փոխհատուցումը/տուգանքները։

2) Նախագծման սկզբունքները

Ախտանիշներ> ներքին չափումներ։ SLI-ն պետք է արտացոլի իրական օգտագործողի փորձը։

Հիմնական SLI-ի փոքր թիվը։ Ծառայության համար '2-5 հիմնական' հաջողությունը, լատենտությունը, թողունակությունը/թարմ, ճիշտ։

Կրիտիկական ճանապարհների իրականացումը։ Յուրաքանչյուր բիզնես սցենարի համար (wwww.kout, login, webhook, ETL բեռնումը) - իր SLI/SLO փաթեթը։

«Հաջողության» խիստ սեմանտիկան։ Ոչ թե «կոդը 200», այլ «օգտագործողը ժամանակին ստացավ պատասխանը և արդյունքը վալիդենը»։

Արտաքին և ներքին SLO բաժանումը։ Ներքին 'կառուցվածք; Արտաքին SLA-ն տեղադրված է 1-2 ինը ներքևում։

3) SLI կատալոգը (հանրաքվե)

3. 1 API/առցանց ծառայություններ

Հաջողությունը '«SLI _ success = 1 մգ (5xx + timeout + business _ error )/all _ reques.ru»

Լատենտություն ՝ p95/p99 'htttp _ server _ duration _ seconds' երթուղիներով/www.ru/վարձակալներ

Թողունակություն ՝ «RPS »/լիմիտներ/քվոտաներ

Ճիշտությունը 'վալիդային պատասխանների մասնաբաժինը (ազդանշաններ, սխեմաներ, ինվարանտներ)

3. 2 Ուեբհուկի/ասինխրոն առաքումներ

Առաքում 'T վայրկյանում ապացուցված իրադարձությունների մի մասը և N. Retraev-ը

Հաճախորդները 'բաժանորդների մասնաբաժինը առանց երկար ուշացման (տենանտ)

3. 3 Տվյալներ/ETL/MSH

Թարմություն (freshness) '«now nom _ sucessful _ ingest _ ts»

Ամբողջական ՝ «ingested _ rows/expected _ rows»

Ճիշտ է 'ձայնագրությունների մի մասը, որոնք անցել են որակի ստուգման

Propline 'jo-ի մասնաբաժինը ավարտված մինչև dedline

3. 4 Բջջային/հաճախորդների PPK

Հաճախորդների հաջողությունը 'նստարանների մասնաբաժինը առանց ֆատալ սխալների

Round-trip-p95-ից մինչև ռենդեր

Քաշ-հիթեր 'քեշից սպասվող մասնաբաժինը (ինչպես պերֆորանսի ախտանիշը)

4) Բանաձևերն ու նպատակների օրինակները

Հասանելիությունը (պահանջներով)

`SLI_req_avail = 1 − (failed_requests / total_requests)`

`SLO_req_avail = 99. 95% '30 օրվա ընթացքում www.error budget = 0։ Հարցումների 71 տոկոսը։

Հասանելիությունը (ժամանակի ընթացքում)

`uptime = (obs_window − downtime) / obs_window`

Լատենտ

"SLO _ latency = p95 (rome = "/www.ru") 24400 ռուբլի 7-օրյա կտրվածքով, բացառությամբ kash-pregevs (1%) (1%)

Տվյալների թարմությունը

"SLO _ freshness (delaset =" orders ") 2410 min 'p99 24 ժամվա ընթացքում։

5) Error budget-ը և փոփոխությունների կառավարումը

Բյուջեթը (B) '«B = 1 հազար SLO»։

Բյուջեի սպառումը (burn) 'ռուսական սխալների հարաբերությունը թույլատրելի հետ։

Քաղաքական գործիչները

Ընդմիջումը (burn> 1) դելֆիֆրիզը, կենտրոնացումը։

Burn rate> X կարճ պատուհանում 'պատահականություն և գլխարկ։ միջոցներ։

Պլանավորումը 'հանդիպման վրա սպրինտի մասնաբաժինը հարաբերվում է բուրնի հետ անցյալ ժամանակահատվածում։

6) Alerting: burn rate և բազմաբնույթ կանոնները

Գաղափարը 'արագ արտահոսք և դանդաղ դրեյֆ։

Օրինակ (SLO 99։ 9 տոկոսը, բյուջեն 0։ 1%):
  • Կրիտիկական ՝ «բյուջեի 2 տոկոսը 1 ժամվա ընթացքում» (արագ հրդեհը)։
  • Նախազգուշացում ՝ «բյուջեի 5 տոկոսը 6 ժամվա ընթացքում» (սողալով քայքայումը)։
  • Կանոնները

Կարճ պատուհանը (րոպե-ժամ) արագ խաղերի համար։

Երկար պատուհանը (6-24 ժամ) միտումների համար։

Լատենտ ՝ ալերտ ՝ p99> շեմա 355 րոպե, ֆլամպինգի ճնշմամբ և հետքերի համապատասխան լամպերի հետ կապը։

Արտահայտությունների օրինակ (տրամաբանություն)


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) Բազմաբնույթ (multi-tenae) և սեգմենացիա

SLI/SLO համարվում են վարձակալների/պլանների/տարածաշրջանների, հակառակ դեպքում մեդիան «փակում» ձախողումները։

Վիճակագրական նշանակության իրադարձությունների նվազագույն քանակը (guard-rails)։

SLA-ն կարող է տարբերվել բյուջեներով (օրինակ ՝ "J 99։ 9%, Free 99. 5%»).

8) Կապ դիտարկման և ուղու հետ

SLI-ի մետրերը 'histogramm/հաշվիչներից exemplars-ից, փոխանցումը դեպի «վատ» թրեյսներ։

Լոգը պատճառների աղբյուր է 'թայմաուտներ, բիզնես սխալներ, լիմիտներ։

Տվյալների համար lineage-ի կապն է. <<Ինչպիսի ջոբա է ձերբակալել թարմության մետրը>>։

9) Պայմանագրեր և SLA

SLA պարունակությունը

SLI/չափման/պատուհանի մեթոդը։

Բացառություններ (պլանավորված աշխատանք, ֆորս մաժոր)։

Ինտեգրման և հաղորդակցման գործընթացը (կարգավիճակ-էջ, RFO/RCA)։

Փոխհատուցում (credits) և հարցման կարգը։

Միգրացիան, գործողության ժամանակահատվածը, վերանայման պայմանները։

Առաջարկություններ

Երբեք մի խոստացեք հանրային SLO-ն ավելի խիստ, քան թույլ է տալիս ճարտարապետությունը և վիրահատական պրակտիկան։

Առանձնացրեք ներքին SLO և արտաքին SLA։

10) Արժեքը և գերակայությունը

Աղջիկների գինը գծային չէ։ «99. 9% → 99. 99%" = այլ ճարտարապետության դաս (N + 1, անջատողականություն, 71-71)։

Տեղադրեք SLO-ը ամենարժեքավոր օգտագործողների վրա։

Վերահսկեք հեռուստացույցի արժեքը 'downsampling, քվոտաներ, կրկնօրինակումներ և դասարաններ։

11) Ընթացակարգեր և հաշվետվություններ

Շաբաթական հաշվետվություններ 'SLO ծառայությունների/վարձակալների կատարումը, բյուջեի սպառումը, լավագույն պատճառները, բարելավման պլանները։

Հետպինդ RCA 'մենք կապում ենք բյուջեի կտորների հետ։ առաջադրանքներ ենք դնում բնածին պատճառները բարձրացնելու համար։

Ֆիչֆրիզ 'ներառման/հեռացման չափանիշներ։

12) Ձևանմուշներ (արագ սկսելու համար)

12. 1 SLO քարտը (օրինակ)


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 հասունություն»

ՄակարդակըՀատկություններ
0Ոչ SLI, CPU/Memory
1Կան SLI, պարզ շեմեր
2SLO burn-rate alerts, հաշվետվություններ
3Բազմաբնույթ SLO, ֆիչֆրիզ, գլխարկներ ըստ պլանի
4SLO-ի միջոցով (հաճախորդը wwww.bakend wwwww.E.D.), Auto-ռեմեդիան, SLO-ի կանարեքները

13) Կանոնների օրինակներ (բեկորներ)

PromQL-ը հաջողության/սխալների/լատենտության

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))

Alerta burn-rate (կանոնների գաղափարը)

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

Տվյալների թարմությունը

promql
Data order lag (minutes)
(max(time()) - max(last_ingest_ts_seconds{dataset="orders"})) / 60

14) SLO տվյալների համար և ML (հատկապես)

SLO տվյալների միջոցով 'թարմ p99, լիարժեք p99, ձախողումից հետո «վերամշակման» ժամանակը։

Տվյալների պայմանագրերը 'սպասվող սխեմաներ, ծավալներ, dedline; տվյալների խախտումը։

ML: SLO-ը ինֆեսսի լատենտության վրա, SLA-ի հասանելիությունը ֆիչի սթորի, draife-ի (մոդելի որակը առանձին թեմա է, SLA-ից դուրս)։

15) Անվտանգության և մասնագիտության ինտեգրումը

SLI լոգները առանց PII/գաղտնիքների; թունավորում/դիմակավորում։

SLO/SLA-ի և հրատարակությունների փոփոխությունների աուդիտը կատարվում է անփոփոխ ամսագրերում։

Կարգավորող ճանապարհների համար (վճարումներ/PII) - առանձին, ավելի խիստ SLO։

16) Չեկ թերթերը

Գործարկումից առաջ 2019/ֆիչին

  • SLI «Հաջողություն/լատենտ/թողունակություն/թարմություն»։
  • SLO և պատուհաններ; հաշվարկվել է սխալների բյուջեն։
  • Burn-rate alerta (կարճ + երկար)։
  • Dashbords RED + exemplars ռուսական մայրուղու; ռունիբուկները։
  • Բազմաբնույթ կտրվածքները և կարևորության շեմերը։
  • Ֆիչֆրիզի և հաշվետվությունների գործընթացը։

Վիրահատություն

  • Շաբաթական զեկույցը SLO/burn, hardening պլանները։
  • SLO վերագնահատումը ճարտարապետության/բեռի փոփոխության ժամանակ։
  • Պարբերական «ուսուցումները» և ռունիբուկների նորարարությունը։
  • Հեռուստատեսության և SLI-ի արժեքի վերահսկումը։

17) Runbook’и

Runbook 'արագ p99/2019

1. Alert r99> շեմը նախատեսվում է բացել dashbord-ը, որպեսզի անցնի exemplar-ի միջով։

2. Գտնել նեղ CLIENT/SERT սպանը, համեմատել տարածաշրջանները/տարբերակները։

3. Միացրեք դեգրադացիան (քաշ/լիմիտ/ֆոլբեկ), տեղեկացրեք կախվածության թիմը։

4. Դեպքից հետո RCA-ն, օպտիմիզացման խնդիրները, SLO-չափիչների նորարարությունը։

Runbook 'բյուջեի սպառումը> 50 տոկոսը շաբաթվա ընթացքում

1. Սառեցրեք փուչիկները, բարձրացրեք հուսալիության գերակայությունը։

2. Սխալների կլաստերիզացիա 'ճանապարհներով/վարձակալներով/կախվածություններով։

3. Ուղղումները կարգավորելու համար խորհուրդ է տրվում հաստատել միտման վերականգնումը։

4. Հետադարձ հայացք և ալտերտերի/շեմերի սեղմում։

18) FAQ

-Որքա՞ ն SLO-ն է անհրաժեշտ։

Օ 'Առնվազն կրիտիկական օգտագործողների սցենարներին' հաջողությունը + լատենտ։ Մնացած ամեն ինչ անհրաժեշտության դեպքում է։

Ի՞ նչն է ավելի լավ 'ժամանակի հասանելիությունը կամ պահանջը։

Օ 'Խնդրանքով' ավելի օգտագործողի մետրիկ։ Ժամանակի ընթացքում հարմար է ցանցային բաղադրիչների/ինֆրայի համար։

Ինչու՞ p95, ոչ թե միջին։

Օ 'Միջինը թաքցնում է պոչը։ օգտագործողը զգում է p95/p99։

Ինչպե՞ ս «ուղղել» չափազանց շատ։

Օ 'Սկսեք իրական նպատակներից (պատմական տվյալներ), ապա խստացրեք հասունությունը։

Կապված նյութեր

«Դիտարկումը 'լոգներ, մետրեր, հետքեր»

«Բաշխված ուղիներ»

«Աուդիտ և անփոփոխ ամսագրեր»

«Վեբհուկի առաքման երաշխիքները»

«In Transit/At Rest»

«Տվյալների ծագումը (Lineage)»

Contact

Կապ հաստատեք մեզ հետ

Կապ հաստատեք մեզ հետ ցանկացած հարցի կամ աջակցության համար։Մենք միշտ պատրաստ ենք օգնել։

Telegram
@Gamble_GC
Սկսել ինտեգրացիան

Email-ը՝ պարտադիր է։ Telegram կամ WhatsApp — ըստ ցանկության։

Ձեր անունը ըստ ցանկության
Email ըստ ցանկության
Թեմա ըստ ցանկության
Նամակի բովանդակություն ըստ ցանկության
Telegram ըստ ցանկության
@
Եթե նշեք Telegram — մենք կպատասխանենք նաև այնտեղ՝ Email-ի дополнение-ով։
WhatsApp ըստ ցանկության
Ձևաչափ՝ երկրի կոդ և համար (օրինակ՝ +374XXXXXXXXX)։

Սեղմելով կոճակը՝ դուք համաձայնում եք տվյալների մշակման հետ։