SLO/SLA ва Metrics
SLO/SLA ва ченакҳо
1) Истилоҳот ва зинанизом
SLI (Нишондиҳандаи сатҳи хизматрасонӣ) - нишондиҳандаи ченшаванда "тавре ки корбар моро мебинад": ҳиссаи дархостҳои муваффақ, таъхири p95, тозагии маълумот, ҳиссаи партияҳои бомуваффақият коркардшуда ва ғайра.
SLO (Ҳадафи сатҳи хизматрасонӣ) - арзиши мақсадноки SLI дар фосилаи мушоҳида (28/30/90 рӯз). Мисол: "99. 9% дархостҳо/пардохти ниҳоӣ ≤ 400 мс"
Буҷаи хато - 1 − SLO. Дар SLO 99. 9% буҷети хато = 0. 1% вақт/дархостҳо.
SLA (Созишнома) - сатҳи аз ҷиҳати ҳуқуқӣ муҳим: SLO, андозагирӣ, истисноҳо, ҷубронпулӣ/ҷаримаҳоро дар бар мегирад.
2) Принсипҳои тарроҳӣ
Аломатҳо> ченакҳои дохилӣ. SLI-ҳо бояд таҷрибаи воқеии корбарро инъикос кунанд.
Шумораи ками калидҳои SLI. Барои хизмат - 2-5 асосӣ: муваффақият, дермонӣ, гузариш/тару тоза, дурустӣ.
Фарогирии роҳҳои муҳим. Ҳар як сенарияи тиҷорат (кассир, воридшавӣ, вебҳук, зеркашии ETL) маҷмӯи SLI/SLO дорад.
Семантикаи қатъии "муваффақият". На "рамзи 200", балки "корбар саривақт посух гирифт ва натиҷа дуруст аст".
Ҷудосозии SLO-ҳои беруна ва дохилӣ. Дохилӣ - сахттар; берунии SLA ≤ 1-2 nines пасттар.
3) Феҳристи SLI (истинод)
3. 1 Хадамоти API/онлайн
Муваффақият: 'SLI _ муваффақият = 1 − (5xx + timeout + business_error )/ all_requests'
Таъхир: p95/p99 'http _ server _ duration _ seconds' аз рӯи масир/усул/иҷорагир
Фарохмаҷро: 'RPS '/маҳдудиятҳо/квотаҳо
Дурустӣ: таносуби ҷавобҳои дуруст (имзоҳо, схемаҳо, ғайривариантҳо)
3. 2 Webhooks/Таҳвили асинхронӣ
Расондан: таносуби рӯйдодҳо дар сонияҳои T ва ≤ N тасдиқ карда мешаванд
Мизоҷон: фоизи муштариён бе таъхири тӯлонӣ (ба як иҷорагир)
3. 3 Маълумот/ETL/DWH
тару тоза: 'ҳоло − last_successful_ingest_ts'
Пуррагӣ: 'ingested _ rows/ expected_rows'
Дурустӣ: таносуби сабтҳое, ки аз санҷиши сифат гузаштаанд
Қубурҳо: ҳиссаи корҳо пеш аз мӯҳлат ба анҷом расиданд
3. 4 SDK-ҳои мобилӣ/муштарӣ
Муваффақияти мизоҷ: таносуби ҷаласаҳо бидуни хатогиҳои марговар
Таъхири сафари даврӣ: p95 аз дархост барои пешниҳод
Хитҳои кэш: фоизи аз кэш додашуда (ҳамчун аломати иҷро)
4) Формулаҳо ва намунаҳои ҳадафҳо
Мавҷудият (тибқи дархост):- 'SLI _ req _ avail = 1 − (failed_requests/ total_requests)'
- 'SLO _ req _ avail = 99. 95% 'барои 30 рӯз → буҷети хато = 0. 05% дархостҳо.
- 'uptime = (obs_window − вақти корӣ )/ obs_window'
- 'SLO _ latency = p95 (масир = "/пардохт ") ≤ 400 мс' дар иловаро 7 рӯз, ба истиснои гармии кэш (1%)
- 'SLO _ тару тоза (маҷмӯа = "фармоиш") 10 min' p99 дар 24 соат.
5) Идоракунии буҷа ва тағирот
Буҷа (B): 'B = 1 − SLO'.
Сӯхтан - Таносуби хатогиҳои воқеӣ ба хатогиҳои имконпазир.
- Барзиёд (сӯзондан> 1) → хусусияти яхкунӣ, диққат ба эътимоднокӣ.
- Бо суръати сӯхтан> X дар равзанаи кӯтоҳ - ҳодиса ва ҳадди аққал. тадбирҳо.
- Банақшагирӣ: Ҳиссаи эътимоднокии спринт бо сӯзондан дар давраи гузашта алоқаманд аст.
6) Огоҳӣ: сатҳи сӯзондан ва қоидаҳои бисёр тиреза
Идея: мо ихроҷи зуд ва суръатро суст мекунем.
Мисол (SLO 99). 9%, буҷа 0. 1%):- Танқид: "2% буҷа дар 1 соат" (оташи тез).
- Огоҳӣ: "5% буҷа дар 6 соат" (таназзули хазандагон).
- Равзанаи кӯтоҳ (дақиқа) барои ҳодисаҳои зуд.
- Равзанаи дароз (6-24 соат) барои тамоюлҳо.
- Таъхир: ҳушдор бо p99> ҳадди ниҳоӣ ≥ 5 дақиқа, бо қатъ кардани часпидан ва иртибот бо ҳолатҳои пайгирӣ.
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) Бисёр иҷорагир ва сегментатсия
SLI/SLO мувофиқи иҷорагирон/нақшаҳо/минтақаҳо ҳисоб карда мешавад, вагарна медианҳо камбудиҳоро "пӯшонида" мешаванд.
Шумораи ҳадди аққали чорабиниҳо барои аҳамияти оморӣ (посбонҳо).
SLA метавонад дар тарифҳо фарқ кунад (масалан, "Pro 99. 9%, ройгон 99. 5%»).
8) Ассотсиатсия бо мушоҳида ва пайгирӣ
Ченакҳои SLI - аз гистограмма/ҳисобкунакҳо бо намунаҳои → гузариш ба роҳҳои "бад".
Сабабҳо манбаи сабабҳо мебошанд: танаффус, рамзҳои хатогиҳои корӣ, маҳдудиятҳо.
Барои маълумот - пайванд бо насл: "кадом кор метрикаи тару тозаро ба таъхир андохт".
9) Шартномаҳо ва SLA
Мазмуни SLA:- Усули SLI/андозагирӣ/таърифи тиреза.
- Истисноҳо (кори банақшагирифташуда, majeure force).
- Тартиби ҳодиса ва иртибот (саҳифаи мақом, RFO/RCA).
- Қарзҳои хидматӣ ва фармоиши дархост.
- Салоҳият, мӯҳлати эътибор, шартҳои таҷдиди назар.
- Ҳеҷ гоҳ ба таври оммавӣ SLO-ро сахттар аз меъморӣ ва амалияи амалиётӣ ваъда надиҳед.
- SLO-ҳои ҷудогона ва SLA-ҳои беруна.
10) Арзиш ва афзалият
Нархи nines ба таври хаттӣ афзоиш намеёбад. «99. 9% → 99. 99%" = синфи меъмории гуногун (N + 1, бисёр минтақа, дороиҳо ба дороӣ).
SLO-ро ба амалҳои арзишманди корбар гузоред.
Арзиши телеметрияро назорат кунед - коҳиш додан, квотаҳо, нусхабардорӣ ва нигоҳдорӣ аз рӯи синф.
11) Тартибот ва ҳисобот
Ҳисоботҳои ҳафтаина: Иҷрои SLO аз ҷониби хидматрасонӣ/иҷорагир, хароҷоти буҷа, сабабҳои асосӣ, нақшаҳои такмил.
RCA-и пас аз ҳодиса: мо бо қисмҳои буҷа шарик мешавем; мо вазифаҳоро барои бартараф кардани сабабҳои решавӣ гузоштем.
Fichfriz: меъёрҳои фарогирӣ/хуруҷ.
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
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))
Сатҳи сӯхтани ҳушдор (идеяи қоидаҳо):
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, вақти коркарди пас аз садама.
Шартномаҳои маълумот: нақшаҳои пешбинишуда, ҳаҷм, мӯҳлатҳо; вайронкунии маълумот → ҳодиса.
ML: SLO барои таъхири ниҳоӣ, SLA барои мавҷудияти устувории хусусиятҳо, мониторинги дрифт (сифати модел мавзӯи алоҳида аст, берун аз SLA).
15) Ҳамгироӣ бо амният ва махфият
Гузоришҳои SLI бидуни PII/асрори; токенизатсия/ниқоб.
Тағироти аудит ба SLO/SLA ва гузоришҳои нашрияҳо дар гузоришҳои тағйирнопазир.
Барои роҳҳои танзимкунанда (пардохтҳо/PII) - SLO-ҳои алоҳида ва сахттар.
16) Рӯйхати санҷишҳо
Пеш аз оғози хидмат/хусусиятҳо
- Муваффақият/Таъхир/Интиқол/SLI-ҳои тару тоза муайян карда шудаанд.
- SLO ва тирезаҳо муайян карда шуданд; буҷети хато ҳисоб карда мешавад.
- Танзими огоҳиҳои сатҳи сӯхтан (кӯтоҳ + дароз).
- Dashboards RED + намунаҳо → маршрутҳо; runibooks ҳодиса.
- Қисматҳои бисёрҷонибаи иҷора ва ҳудудҳои аҳамият.
- Тартиби Fichfreeze ва ҳисоботдиҳӣ.
Амалиёт
- Ҳисоботи ҳарҳафтаинаи SLO/сӯзондан, нақшаҳои сахттар.
- Ҳангоми тағир додани меъморӣ/сарборӣ SLO-ро барқарор кунед.
- Ҳодисаҳои даврии "пармакунӣ" ва навсозиҳои runibook.
- Арзиши телеметрия ва ҳисобкунии SLI.
17) Рунбуки 'и
Runbook: Афзоиши босуръати p99/пардохт
1. Alert p99> остонаи → кушодани панели → тавассути намуна барои пайгирӣ гузаред.
2. Фосилаи танги CLIENT/SERVER-ро пайдо кунед, минтақаҳо/версияҳоро муқоиса кунед.
3. Деградатсияро фаъол созед (кэш/лимит/бозпас), фармонҳои вобастагиро огоҳ созед.
4. Пас аз эътидол - RCA, вазифаҳои оптимизатсия, навсозии андозагирии SLO.
Дафтарчаи корӣ: хароҷоти буҷа> 50% барои ҳафта
1. Хусусиятҳои яхкунӣ, афзалияти эътимоднокиро баланд мебардоранд.
2. Гурӯҳбандии хатогиҳо: аз рӯи хатсайрҳо/иҷорагирон/вобастагӣ.
3. Коррексияҳоро таҳия кунед → барқароршавии тамоюлро тасдиқ кунед.
4. Танзими ретроспективӣ ва ҳушёрӣ/ҳадди ниҳоӣ.
18) FAQ
Савол: Ба шумо чанд SLO лозим аст?
A: Ҳадди аққал дар сенарияҳои муҳими корбар: муваффақият + таъхир. Ҳама чизи дигар аз зарурат берун аст.
Савол: Кадом беҳтар аст - дастрасӣ аз рӯи вақт ё дархост?
A: Талабот - метрикаи бештари корбар. Вақт барои ҷузъҳои шабака/инфра қулай аст.
Савол: Чаро p95, миёна нест?
A: Миёна думро пинҳон мекунад; корбар ҳис мекунад p95/p99.
Савол: Чӣ гуна набояд "буришҳоро" аз ҳад зиёд мустаҳкам кунед?
Ҷ: Бо ҳадафҳои воқеӣ оғоз кунед (маълумоти таърихӣ), пас ҳангоми ба камол расидан мустаҳкам шавед.
- "Мушоҳидаҳо: гузоришҳо, ченакҳо, пайҳо"
- "Пайҳои тақсимшуда"
- "Гузоришҳои аудитӣ ва тағйирнопазир"
- "Кафолатҳои таҳвили Webhook"
- "Дар транзит/ҳангоми рамзгузорӣ"
- "Пайдоиши маълумот (насл)"