GH GambleHub

ინციდენტები და SRE ფლეიბუკები

1) რა არის ინციდენტი და როგორ უკავშირდება იგი SLO- ს

ინციდენტი არის მოვლენა, რომელიც არღვევს SLO/ოფიციალურ ფუნქციას ან ქმნის დარღვევის რისკს (არასწორი ბიუჯეტი მიუღებელია სწრაფად).
კლასიკური მეტრიკა: MTTD, MTTA, MTTR, MTBF.
ბიუჯეტის შეცდომა და გამშვები პუნქტი განსაზღვრავს ესკალაციის პრიორიტეტსა და ფანჯრებს.


2) სერიოზულობის დონე (SEV) და კრიტერიუმები

SEVნიშანიგავლენაMTTR მიზანი
SEV-1დაირღვა კრიტიკული SLO/სრული დაუნი საკვანძო ტრაფიკისთვისყველა მომხმარებელი/გადახდა60 წუთი-ზე მეტი
SEV-2დეგრადაცია (p95 ლატენტობა, 5xx/გადახდის შეცდომები)მნიშვნელოვანი ნაწილი4 საათი
SEV-3ადგილობრივი პრობლემები/ბაზრები უარყოფილიაცალკეული მომსახურება/რეგიონი• 1 სამუშაო დღე
SEV-4პოტენციური რისკი/დეფექტი მიმდინარე გავლენის გარეშეფიქრების მომზადებაგეგმის მიხედვით

SEV გამომწვევები: ჭარბი 5xx%, p95> ბარიერი, გადახდის decline spike, Kafka-lag> ბარიერი, NodeNotReady> X წუთი, TLS იწურება <7 დღე, DDoS/გაჟონვა.


3) როლები და პასუხისმგებლობა (RACI)

Incident Commander (IC) - ერთადერთი გადაწყვეტილების მიღება, დავალებების ნაკადის მენეჯმენტი, SEV სტატუსის შეცვლა.
Ops Lead (Tech Lead) - ტექნიკური სტრატეგია, ჰიპოთეზა, ფიქრების კოორდინაცია.
კომუნიკაციები Lead (Comms) - სტატუსის გაფართოება (შიდა/გარე), StatusPage/chat/ფოსტა.
Scribe (მემატიანე) - დრო, გადაწყვეტილებები, არტეფაქტები, ბმულები გრაფიკულ/ლოგიკაზე.
On-call Engineers/SMEs - პლეიბუკების მოქმედებების შესრულება.
უსაფრთხოება/პირადი - ჩართულია უსაფრთხოების ინციდენტებში ან PII.
FinOps/Payments - ბილინგზე გავლენის მოხდენისას/PSP/ღირებულება.


4) ინციდენტის სასიცოცხლო ციკლი

1. დეტაჟი (ალერტი/რეპორტაჟი/სინთეტიკა) - ინციდენტის ბარათის მანქანის შექმნა.
2. სამჯერ (IC დაინიშნა, SEV- ს ენიჭება მინიმალური კონტექსტის შეგროვება).
3. სტაბილიზაცია (mitigation: გამორთეთ fick/rollback/rate-limit/failover).
4. გამოძიება (RCA ჰიპოთეზები, ფაქტების შეგროვება).
5. მომსახურების აღდგენა (validate SLO, დაკვირვება).
6. კომუნიკაცია (შიგნით/გარეთ, საბოლოო ანგარიში).
7. პოსტმორტემი (ბრალდების გარეშე, CAPA გეგმა, მფლობელები, ვადები).
8. Prevention (ტესტები/ალერტები/playbuks/დროშები, გუნდის მომზადება).


5) კომუნიკაციები და „ომის ოთახი“

ინციდენტის ერთი არხი ('# inc-sev1-YYYMMDD-hmm'), მხოლოდ ფაქტები და მოქმედებები.

რადიო პროტოკოლის გუნდები: "IC: მე დანიშნავს rollback ვერსიას 1. 24 - ETA 10 წუთი."

სტატუსი: SEV-1 ყოველ 15 წუთში, SEV-2 - ყოველ 30-60 წუთში.
Status Page/გარე კომუნიკაცია - Comms Lead- ის მეშვეობით შაბლონის მიხედვით.
აკრძალულია: პარალელური „მშვიდი“ ოთახები, გადამოწმებული ჰიპოთეზები საერთო არხში.


6) ალერტინგი და SLO-burn (წესების მაგალითი)

სწრაფი არხი (1-5 წუთი) და ნელი არხი (1-2 საათი) ქარიშხალი.
მულტფილმის სიგნალები: ბიუჯეტის შეცდომა, 5xx%, p95, Kafka-lag, გადახდის decline, სინთეზური.
ძირითადი მიზეზის ძიება მხოლოდ სიმპტომების სტაბილიზაციის შემდეგ ხდება.

მაგალითები (განზოგადებული):
promql
Ошибочная доля 5xx > SLO sum(rate(http_requests_total{status=~"5.."}[5m])) / sum(rate(http_requests_total[5m])) > 0.01

Burn-rate быстрый (пример)
(sum(rate(http_requests_total{status=~"5.."}[1m])) / sum(rate(http_requests_total[1m])))
/ (1 - SLO) > 14.4

7) Playbooks vs ranbooks

პლეიბუკი - მოქმედების სცენარი ინციდენტის ტიპის მიხედვით (ფილიალი, პირობები, რისკები).
რანბუკი - ნაბიჯების/ბრძანებების კონკრეტული „რუკა“ (შემოწმება, ფიქსაცია, გადამოწმება).
წესი: ფლეიბუკი ეხება რამდენიმე რანბუკს (rollbacks, feature-flags, failover, სკალირება, ტრაფიკის დაბლოკვა და ა.შ.).


8) ინციდენტის ბარათის შაბლონი

yaml id: INC-YYYYMMDD-XXXX title: "[SEV-1] Рост 5xx на API /payments"
status: active    monitoring    resolved sev: 1 reported_at: 2025-11-03T17:42Z ic: <ФИО>
ops_lead: <ФИО>
comms_lead: <ФИО>
scope: regions: [eu-west-1], tenants: [prod], services: [api, payments]
impact: "5xx=12% (обычно <0.5%), конверсия депозитов -20%"
mitigation: "откат на 1.23.4, включен rate-limit 2k rps, фича X выключена"
timeline:
- "17:42: алерт SLO burn-rate быстрый"
- "17:46: назначен IC, открыт war-room"
- "17:52: найден релиз 1.24 как кандидат"
- "18:02: откат завершен, 5xx вернулись к 0.3%"
artifacts:
dashboards: [...]
logs: [...]
traces: [...]
risk: "возможен очередной всплеск при включении фичи X"
next_steps: "канареечный релиз, тесты, постмортем до 2025-11-05"

9) შაბლონი SRE playbook (Markdown)

markdown
Плейбук: <название>
Область/симптомы
Список детекторов, сигнатуры в метриках/логах/трассах.

Быстрая стабилизация (Triage & Mitigation)
- [ ] Ограничить трафик/включить WAF-правило/фичефлаг OFF
- [ ] Роллбэк/канареечный релиз/выкатить фикс конфигурации
- [ ] Включить деградационный режим (read-only, кэш-форс)

Диагностика (RCA hints)
- Метрики: … Логи: … Трассы: …
- Частые первопричины/чек-лист гипотез

Риски и коммуникации
- Внутренние/внешние апдейты, SLA-обязательства

Верификация
- [ ] SLO восстановлено (порог/время окна)
- [ ] Нет регресса по смежным сервисам

Последующие действия
- CAPA, задачи в backlog, обновление алертов/дашбордов/плейбука

10) ტიპიური ფლეიბუკები

10. 1 API 5xx Spike

სტაბილიზაცია: გამორთეთ პრობლემური ძაფები; გაზარდეთ API შენიშვნები; ქეშირების ჩართვა; გამოშვების დაბრუნება.
დიაგნოზი: diff გამოშვება, შეცდომები ლოგოებში, ზრდა p95, pressure BD/kesh.
რისკები: კასკადი გადახდებში/ზურგჩანთებში.

10. 2 БД: replication lag / lock storm

სტაბილიზაცია: მძიმე ჯობების/რეპორტების შეჩერება; კითხვის გადამისამართება ოსტატზე; გაზარდეთ wal _ buffers/რეპლიკა.
დიაგნოზი: გრძელი გარიგებები, ბლოკირების მოთხოვნები, გეგმის ცვლილებები.
ფიქსაცია: ინდექსები/ჰინტები, ჯობების ხელახალი განვითარება, მოთხოვნების დაყოფა.

10. 3 Kafka consumer lag

სტაბილიზაცია: დროებით განაწილება consumer's; შეამცირეთ წარმოება არაკრიტიკული სერვისებიდან; გაზარდოს წვეულებები/კვოტები.
დიაგნოზი: rebalances, ნელი დესერალიზაცია, GC პაუზები.
გადამოწმება: lag - მიზნობრივი მნიშვნელობისკენ, არ არსებობს ფრაგმენტები.

10. 4 K8s NodeNotReady/რესურსების ქარიშხალი

სტაბილიზაცია: cordon + drain; დატვირთვის გადანაწილება; შეამოწმეთ CNI/overlay; გამორთეთ ხმაურიანი DaemonSet.
დიაგნოზი: disk pressure, OOM, throttling, ქსელი drops.
პრევენცია: pod disruption budgets, რესურსების ლიმიტები/requests.

10. 5 TLS/სერთიფიკატები იწურება

სტაბილიზაცია: საიდუმლოების იძულებითი განახლება; დროებითი override.
დიაგნოზი: ნდობის ჯაჭვი, clock-skew.
პრევენცია: ალერტები T-30/T-7/T-1, ავტო-რენუალი.

10. 6 DDoS/არანორმალური ტრაფიკი

სტაბილიზაცია: WAF/bot წესები, rate-limit/geo ფილტრები, upstream shed load.
დიაგნოზი: შეტევის პროფილები (L3/4/7), წყაროები, „ქოლგები“.
პრევენცია: anycast, autoscaling, ქეშირება, პლეი-ნიზი პროვაიდერთან.

10. 7 გადახდის PSP გარეთ

სტაბილიზაცია: ჭკვიანი როტინგი ალტერნატიული PSP/მეთოდებისთვის; გაზარდეთ retry ერთად jitter; UI- ს „რბილი“ დეგრადაცია.
დიაგნოზი: spike უარი კოდებზე, API სტატუსები/PSP სტატუსის გვერდები.
კომუნიკაციები: გამჭვირვალე აფდეიტები ბიზნესისა და საფორტეპიანოსთვის, სწორი ND/კონვერტაციის სტატისტიკა.

10. 8 უსაფრთხოების ინციდენტი/PII გაჟონვა

სტაბილიზაცია: კვანძების იზოლაცია/საიდუმლო როტაცია, გამოთვლების დაბლოკვა, ლეგალური ჰოლდი.
დიაგნოზი: დაშვების დრო, დაზარალებული საგნები/ველები.
შეტყობინებები: რეგულატორები/პარტნიორები/იურისდიქციის მომხმარებლები.
პრევენცია: DLP/სეგმენტის გაძლიერება, „გრძელი პირადი“.


11) ფლეიბუკების ავტომატიზაცია

ChatOps ბრძანებები: '/ic set sev 1 ', '/deploy rollback ap1. 23. 4`, `/feature off X`.
Runbook bots: ნახევრად ავტომატური ნაბიჯები (დარტყმა, მფრინავი ტრაფიკი, purge cache).
Self-healing huks: დეტექტორი სტანდარტული mitigation (rate-limit, restart, scale).
მანქანის შექმნა/დრო ალერტებისა და გუნდებიდან.


12) პლეიბუკების ხარისხი: ჩეკების სია

  • მკაფიო სიმპტომები და დეტექტორები (მეტრიკა/ლოგები/ბილიკები).
  • სწრაფი სტაბილიზაციის ნაბიჯები რისკის შეფასებით.
  • ბრძანებები/სკრიპტები აქტუალურია, შემოწმებულია staging.
  • SLO აღდგენის გადამოწმება.
  • საკომუნიკაციო შაბლონები და გარე აფდიტების კრიტერიუმები.
  • postmortem ბმული და CAPA დახურვის შემდეგ.

13) პოსტმორთემი და CAPA

მიზანი: სწავლა და არა დამნაშავე.
შინაარსი: რა მოხდა, როგორ დაადგინეს, რა იყო კარგი/ცუდი, ფაქტორების წვლილი (ეს + პროცესები), მოქმედებები თავიდან ასაცილებლად.
ვადა: SEV-1 - 48 საათის განმავლობაში; SEV-2 - 3 სამუშაო დღე.
CAPA: კონკრეტული მფლობელები, ვადები, გაზომილი ეფექტები (შემცირება MTTR/MTTD ზრდა).


14) იურიდიული ასპექტები და მტკიცებულებები

Legal Hold: ლოგოების/ბილიკების/ალერტების გაყინვა, write-once საცავი.
არტეფაქტების შენახვის ჯაჭვი: როლებისთვის წვდომა, მთლიანობის კონტროლი.
მარეგულირებელი შეტყობინებები: იურისდიქციების ვადები/შაბლონები (განსაკუთრებით დაზარალებული გადახდების/PII).
კონფიდენციალურობა: ანალიზის დროს PII- ის შემცირება და შენიღბვა.


15) ინციდენტების პროცესის ეფექტურობის მეტრიკა

MTTD/MTTA/MTTR კვარტლებისა და დომენების მიხედვით.
SEV- ის სისწორე.
ინციდენტების წილი მიტიგიტთან.
Playbucks დაფარავს ტოპ N სცენარებს (> 90%).
CAPA- ს განხორციელება დროულად.


16) ეტაპების განხორციელება

1. კვირა 1: SEV მატრიცა, on-call- ის როლი, ბარათის ზოგადი შაბლონი, ომის ოთახი რეგულირება.
2. კვირა 2: პლეიბუკი ტოპ 5 სიმპტომისთვის (5xx, BD-lag, Kafka-lag, NodeNotReady, TLS).
3. კვირა 3: ChatOps/bots, ბარათების მანქანის შექმნა, კომუნიკაციის შაბლონები/StatusPage.
4. კვირა 4 +: Playbooks, PSP autage, Legal Hold, რეგულარული drills/ქაოსის თამაშები.


17) სწრაფი რანბუკების მაგალითები (ფრაგმენტები)

Rollback API (K8s)

bash kubectl rollout undo deploy/api -n prod kubectl rollout status deploy/api -n prod --timeout=5m
Верификация:
kubectl -n prod top pods -l app=api

Drain node

bash kubectl cordon $NODE && kubectl drain $NODE --ignore-daemonsets --delete-emptydir-data --timeout=10m

Feature-flag OFF (მაგალითი)

bash curl -X POST "$FF_URL/toggle" -H "Authorization: Bearer $TOKEN" -d '{"feature":"X","enabled":false}'

18) მინი-FAQ

როდის უნდა გაიზარდოს SEV-1?
როდესაც ძირითადი SLO/ბიზნეს ფუნქცია განიცდის (გადახდები, ლოგინი, თამაში) და ბურნი-თამაში „ჭამს“ ბიუჯეტს წინასწარ საათების განმავლობაში.

რა არის უფრო მნიშვნელოვანი - RCA ან აღდგენა?
ყოველთვის სტაბილიზაცია, შემდეგ RCA. სტაბილიზაციის დრო მთავარი მაჩვენებელია.

საჭიროა თუ არა ყველაფრის ავტომატიზაცია?
ავტომატური ხშირი და უსაფრთხო ნაბიჯები; იშვიათი/სარისკო - ნახევრად მანქანის მეშვეობით და IC დადასტურებით.


შედეგი

ინციდენტების საიმედო პროცესი ემყარება სამ სვეტს: მკაფიო როლებს და SEV წესებს, მაღალი ხარისხის ფლეიბუკებს/რანბუკებს ავტომატიზაციით და პოსტმორტემების კულტურას ბრალდების გარეშე. დააფიქსირეთ შაბლონები, გაწვრთნეთ on-call, გაზომეთ MTTR/არასწორი ბიუჯეტი და მუდმივად გააუმჯობესეთ დეტექტორები და ფლეიბუქები - ეს პირდაპირ ამცირებს რისკებს და ხარჯების ღირებულებას.

Contact

დაგვიკავშირდით

დაგვიკავშირდით ნებისმიერი კითხვის ან მხარდაჭერისთვის.ჩვენ ყოველთვის მზად ვართ დაგეხმაროთ!

ინტეგრაციის დაწყება

Email — სავალდებულოა. Telegram ან WhatsApp — სურვილისამებრ.

თქვენი სახელი არასავალდებულო
Email არასავალდებულო
თემა არასავალდებულო
შეტყობინება არასავალდებულო
Telegram არასავალდებულო
@
თუ მიუთითებთ Telegram-ს — ვუპასუხებთ იქაც, დამატებით Email-ზე.
WhatsApp არასავალდებულო
ფორმატი: ქვეყნის კოდი და ნომერი (მაგალითად, +995XXXXXXXXX).

ღილაკზე დაჭერით თქვენ ეთანხმებით თქვენი მონაცემების დამუშავებას.