SLA және SLO мониторингі
1) Терминдер мен рөлдер
SLA (Service Level Agreement) - клиент алдындағы сыртқы шарттық міндеттеме (айыппұл ескертпелері, кредиттер).
SLO (Service Level Objective) - SLA орындауды қолдайтын сервистің нысаналы ішкі деңгейі.
SLI (Service Level Indicator) - оның негізінде SLO/SLA бағаланатын өлшенетін индикатор.
Error Budget - 'Budget = 1 − SLO' кезеңіндегі «қол жетімсіздік/қателер» рұқсат етілген үлесі.
Scope: пайдаланушының көзімен өлшенеді (end-to-end). Микросервистерде - компонент деңгейінде де, өтпелі жолда да.
2) SLI таңдау: нені өлшеу керек
Критерий - пайдаланушы тәжірибесі мен бизнес-құндылығы бар корреляция.
Типтік SLI:- Қол жетімділік: табысты сұраулардың үлесі. 'SLI = табысты/барлығы'.
- Жасырындылық: сұрау салулардың үлесі T. 'SLI = P (latency ≤ T)' шегінен жылдам.
- Сапасы: дұрыс жауаптардың үлесі (5хх/функциясыз) қателер).
- Деректердің өзектілігі: репликалаудың кідіруі/ETL ≤ X минут.
- Бизнес-процестің нәтижелілігі: сәтті төлемдердің/тіркеулердің үлесі.
Анти-паттерндер: бизнес-қателіктерді елемей, тек 200-дерді «табыс» деп санау; пайдаланушының орнына тест желісінде өлшеу.
3) Бақылау формулалары мен терезелері
Терезеден тыс қол жетімділік:- `Availability = (OK_requests / All_requests) × 100%`.
- 'P95 ≤ T' → үлесті ретінде тұжырымдаған жақсы: 'SLI =% сұрау ≤ T'.
- Мысал: «Іздеу сұрауларының 99% ≤ 28 күнде 300 мс».
- Жылжымалы терезе: 28 немесе 30 күн (сезімталдық пен тұрақтылық теңгерімі). Инциденттер үшін - қосымша терезелер: 1 сағ, 6 сағ, 24 сағ.
4) Error Budget және өзгерістердің жылдамдығын басқару
Есеп: 'SLO = 99 кезінде. 9% 'бюджет =' 0. Кезеңдегі қателер/қол жетімсіздіктің 1%.
Саясат:- Бюджет> 50%: жоспар бойынша релиздер мен эксперименттер.
- Бюджет 10-50%: тек төменгі тәуекелді релиздер, канареяларды қатайту.
- Бюджет <10%: релиздерді қатыру, түбірлік себеп, сенімділікті жақсарту.
- Прогрессивті релиздермен байланыс: canary/feature-flags бюджетті мөлшерлеп «жейді», деградация кезінде авто-қайтарумен.
5) Алерт-саясат: табалдырықтан burn rate
Неге «даупал SLO - көтеріңіз»: тым кеш. Проактивтілік керек.
Burn Rate (BR) - бюджетті жағу жылдамдығы:- 'BR = (қысқа терезеде байқалатын қате/осы терезеде жарамды қате)'.
- Егер 'BR> 1' - бюджет нормадан тезірек жұмсалады.
- Тез алерт (шу сезімтал, апаттарды ұстайды): терезе 5-10 мин, BR шегі 14-20 ×.
- Баяу алерт (жайылмалы тозуларды ұстайды): терезе 1-6 сағ, BR шегі 2-4 ×.
- Біріктіру шарттары: тез немесе баяу жұмыс істеді - пейджинг on-call.
- Деңгейлер: пайдаланушылық SLO пейджері, ішкі SLI сұр деградациялары үшін тикеттер/хабарламалар.
6) Бақылау және ақиқат көздері
Логи - себептерді диагностикалау.
Метриктер - сандық SLI (табыс/қате, латенттілік перценттері, үлестер, санауыштар).
Трейстер - өтпелі жолдар, «ыстық» сегменттерді оқшаулау.
Синтетика - перифериядан (region-aware) белсенді сынамалар.
Нақты оқиғалар - RUM/клиенттердің телеметриясы, бизнес-метрика (конверсия, табысты төлемдер).
Талаптар: релиздер мен инциденттердің, «нұсқа/канарейка/ту» аннотациясының дашбордтарындағы бірыңғай сурет.
7) SLO жобалау: қадамдық шаблон
1. Күрделі жолды сипаттаңыз (мысалы, «депозит картамен»).
2. SLI: жетістік/қате, жасырындылық шегі, толықтықты анықтаңыз.
3. SLO келісіңіз: 28 күндік мақсат + ерекшеліктер (жоспарланған терезелер).
4. SLA-мен байланыстырыңыз: заңды міндеттеме ≦ нақты SLO.
5. Иесі (service owner), RACI және алерт арнасын тағайындаңыз.
6. Алерт-саясатты (екі терезелі BR) және авто-кері қайтуды анықтаңыз.
7. Есептілікті енгізіңіз: апталық бюджеттің шолулары, оқыс оқиғадан кейінгі ревю.
8. SLO-ны тоқсан сайын қайта қараңыз (жүктемені/сәулетті өзгерту).
8) SLO мысалдары (үлгілер)
Төлемнің API:- Қол жетімділік: '99 ≥. 95% '(28д, жарияланған терезелерді қоспағанда ≤ 30 мин/ай).
- Жасырындылығы: '99% ≥' жауаптары ≤ 400 мс '.
- Бизнес-операциялардың табысы: '≥ 98. 5% сәтті авторизация (fraud-сүзгілер ескерілген).
- Жасырындылығы: '99% ≥' ≤ 300 мс '.
- Кэштің өзектілігі: '5 мин' ≤ 99% жағдайда артта қалу.
- Жеткізу: '99 ≥. 9% 'ішінде' ≤ 60 с '(end-to-end, ретраларымен).
- Жоғалту: '≤ 0. 01% хабарламалар (сәйкестік/дедупликация қосылған).
9) Мульти-өңір және мульти-тенант
SLO «қоғам бойынша»: ел, төлем провайдері, VIP-сегмент, құрылғы.
Шектегі жергілікті SLO: пайдаланушыға жақын нүктелердегі метриктер (edge/PoP).
Біріктіру: ортақ SLO маңызды когорттар бойынша ақауларды жасырмауы тиіс.
Провайдерлерді ауыстырып қосу: SLO-гейттер деңгейіндегі автоматты fallback-маршруттар.
10) Дашбордтар және есептілік
Релиздік дашборд: нұсқа, канарейка (% трафик), SLI (сәттілік/жасырындылық), BR, жалаулар аңдатпалары.
Операциялық дашборд: күн бойынша burn-down бюджет, топ-инциденттер, MTTR, проблемалық когорттар.
Апта сайынғы есептер: бюджет қалдығы, BR трендтері, техникалық борыш (тар орындар), жақсарту жоспары.
11) Процестер: оқиғалар, RCA және жақсарту
Инцидент-менеджмент: алерт → BR бағалау → канарейка/жалаулар масштабы → қайту/фикс.
RCA (негізгі себеп): фактілер/таймлайн/гипотезалар/түзетулер/SLI бойынша әсерді тексеру.
Алынған сабақтар: тәтті емес пост-мортемалар, иелерімен және мерзімдерімен міндетті action items.
Циклдің тұйықталуы: тесттердегі, фича-жалаулардағы, лимиттердегі, кэштердегі, ретралардағы, квоталардағы өзгерістер.
12) Комплаенс және аудит
SLO/SLI бақылау артефактілері ретінде (policy-as-code, өзгермейтін логтар).
Талаптарға байланыстыру (мысалы, төлем операцияларының қолжетімділігі).
Дәлелдемелер: алерт хаттамалары, бюджет бойынша есептер, релиздер/қайтарулар журналдары.
13) Жиі қателер және оларды болдырмау
“99. 99% немесе өлім": қол жеткізілмейтін мақсаттар → тұрақты алерт-шу. Шынайы SLO таңдау.
Жаһандық орташалар жергілікті сәтсіздіктерді жасырады → когорттарды енгізу.
e2e емес өлшемдері: жоғары SLO клиентке нақты тозу кезінде → RUM/синтетиканы қосу.
Алерталар бір табалдырықтан → екі терезелі burn rate көшу.
Өзгертулермен байланысы жоқ → релиздері түсіндірілмеген, авто- кері қайтару жоқ.
14) Енгізудің шағын чек-парағы
- Сыни жолдар және олардың SLI/SLO сипатталған.
- Бақылау және болдырмау терезесі берілген.
- Екі терезелі BR-алерталар (жылдам және баяу) теңшелген.
- Нұсқалар/жалаушалар аңдатпалары бар релиздер мен операциялардың дашбордтары.
- Error budget саясаты шығарылымдарға әсер етеді.
- Тұрақты бюджет шолулары және инциденттен кейінгі RCA.
- Құжаттама және көрсеткіштердің иелері.
15) Есептеу үлгісі (нақтылығы)
SLO қол жетімділігі API: 99. 28 күнге 9% → бюджет = 0. 1%.
7 күнде 0 жинақталды. Қателердің 06% → апталық бюджеттің 60% жұмсалды.
15 мин қысқа терезеде 2% қате байқалады. Осы терезеде жарамды: '0. 1% × (15 мин/40320 мин) ≈ 0. 000037%`.
Burn Rate ≫ 1 (ондаған ×) → жылдам пейджер іске қосылады, канарейка 1% дейін домалатылады, «degrade-payments-UX» фича-жалауы қосылады, RCA іске қосылады.
16) Жиынтық
SLA/SLO мониторингі - бұл есептегі сандар ғана емес, өзгеріс тәуекелі мен сервис сапасын басқару тетігі. Дұрыс SLI, шынайы SLO, error budget басқару, екі терезелі burn-rate алерты және e2e-бақылау метрлерді жұмыс шешімдеріне айналдырады: құнды жылдам шығару және пайдаланушы тәжірибесін болжауға болады.