תקריות וספרי משחק של SRE
1) מהו המקרה וכיצד הוא קשור ל ־ SLO
אירוע הוא אירוע המפר פונקציה של SLO/Service או יוצר סיכון להפרה (תקציב שגוי נשרף במהירות בלתי מתקבלת על הדעת).
מדדים קלאסיים: MTTD, MTTA, MTTR, MTBF.
השגיאה בתקציב ושיעור השרפה קובעים את העדיפות וחלונות ההסלמה.
2) רמות חומרה (SEVs) וקריטריונים
מפעיל SEV: עולה על 5xx%, p95> סף, ירידה בתשלום ספייק, קפקא-לג> סף, NoedNotReady> X min, TLS פג <7 ימים, אותות/דלף DDOS.
3) תפקידים ואחריות (RACI)
מפקד תקרית (IC) - קבלת החלטות בלעדית, ניהול תזרים משימות, שינוי מצב SEV.
אסטרטגיה טכנית, השערות, תיאום של תיקונים.
תקשורת עופרת (תקשורת) - עדכוני מצב (פנימי/חיצוני), ProductPage/chat/mail.
סקריבה (כרוניקלר) - ציר זמן, פתרונות, חפצים, קישורים לגרפים/יומנים.
מהנדסים/SME - ביצוע של פעולות משחק.
אבטחה/פרטיות - אפשרות לאבטחה או תקריות מח "ש.
FinOps/תשלומים - כאשר משפיע על חיוב/PSP/עלות.
4) אופן חיים של אירוע
1. גילוי (התראה/דיווח/סינתטי) * יצירה אוטומטית של כרטיס אירוע.
2. Triage (IC מוקצה, SEV מוקצה, אוסף הקשר מינימלי).
3. ייצוב (הפחתה: כבה את התכונה/rollback/rate-limit/influver).
4. חקירה (השערות RCA, אוסף עובדות).
5. התאוששות שירות (תוקף SLO, תצפית).
6. תקשורת (בפנים/בחוץ, דו "ח סופי).
7. לאחר המוות (ללא חיובים, תוכנית CAPA, בעלים, מועדים).
8. מניעה (מבחנים/התראות/ספרי משחק/דגלים, אימון נוסף של הקבוצה).
5) תקשורת ו ”חדר מלחמה”
ערוץ תקרית מאוחד ('#' #-sev1-YYYMDD-hmm'), רק עובדות ופעולות.
פרוטוקול רדיו מורה: "IC: אני מקצה rollback גרסה 1. 24. זמן הגעה משוער 10 דקות"
עדכוני מצב: SEV-1 כל 15 דקות, SEV-2 כל 30-60 דקות.
סטטוס עמוד/תקשורת חיצונית - באמצעות תקשורת עופרת על ידי תבנית.
אסור: מקבילים ”שקט” חדרים, לא נבדק השערות לערוץ משותף.
6) התראה ו ־ SLO ־ Burn (כללי דוגמה)
ערוץ מהיר (1-5 דקות) וערוץ איטי (1-2 h) שרפה קצב.
ריבוי אותות: שגיאה בתקציב, 5xx%, p95, קפקא-לג, תשלום ירידה בשיעור, סינתטיקה.
חפש את הסיבה לשורש - רק לאחר ייצוב התסמינים.
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) ספרי שעשועים נגד חוברות
משחק - תרחיש של פעולות על ידי סוג של אירוע (הסתעפות, תנאים, סיכונים).
Runbook - ”מפה” ספציפית של צעדים/פקודות (צ 'קים, תיקונים, אימות).
כלל: ספר המהלכים מתייחס למספר ספרי הפעלה (גלגולים, דגלי תכונה, כשלים, מדדים, חסימת תנועה וכו ').
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 (Markdown)
markdown
Плейбук: <название>
Область/симптомы
Список детекторов, сигнатуры в метриках/логах/трассах.
Быстрая стабилизация (Triage & Mitigation)
- [ ] Ограничить трафик/включить WAF-правило/фичефлаг OFF
- [ ] Роллбэк/канареечный релиз/выкатить фикс конфигурации
- [ ] Включить деградационный режим (read-only, кэш-форс)
Диагностика (RCA hints)
- Метрики: … Логи: … Трассы: …
- Частые первопричины/чек-лист гипотез
Риски и коммуникации
- Внутренние/внешние апдейты, SLA-обязательства
Верификация
- [ ] SLO восстановлено (порог/время окна)
- [ ] Нет регресса по смежным сервисам
Последующие действия
- CAPA, задачи в backlog, обновление алертов/дашбордов/плейбука
10) ספרי משחק טיפוסיים
10. 1 API 5xx Spike
ייצוב: לכבות פישפלאג בעייתי; תגביר את העתקים של API, אפשר לכסות את השחרור.
אבחון: שחרור diff, שגיאות ביומנים (חריגים עליונים), גידול p95, לחץ DB/מטמון.
סיכונים: מפל בתשלומים/גיבוי.
10. 2 Name: lag שכפול/lock storm
ייצוב: השהיית עבודות/דיווחים כבדים; הפניה חוזרת קוראת למכשף להגדיל את wal_buffers/replika-sloty.
אבחון: עסקאות ארוכות, חסימת בקשות, שינויי תוכנית.
קיבעון: אינדקסים/רמזים, פיתוח מחדש של עבודות, שאילתות מפוצלות.
10. 3 עיכוב צרכני קפקהName
ייצוב: באופן זמני היקף הצרכנים; להפחית את הייצור משירותים שאינם קריטיים; להגדיל צדדים/מכסות.
אבחון: איזון מחדש, מדבריות איטית, ג 'י-סי הפוגה.
אימות: lag כפול לערך המטרה, אין טיפות.
10. 4 K8s NodeNotReady/Resource Storm
ייצוב: קורדון + ניקוז; לחלק מחדש את העומסים; בדוק CNI/כיסוי לכבות Daemonsets רועש.
אבחון: לחץ דיסק, חמצן, צניחת רשת.
מניעה: תקציבי שיבוש תרמיל, גבולות משאבים/בקשות.
10. 5 TLS/תעודות פג תוקפו
ייצוב: עדכון כפוי של הסוד/כניסה; מעקף זמני.
אבחון: שרשרת אמון, שעון רזה.
מניעה: התראות T-30/T-7/T-1, אוטומטי.
10. 6 DOS/תנועה לא תקינה
ייצוב: WAF/bot rules, rate-limit/geo-filters, upstream shape load.
אבחון: פרופילי תקיפה (L3/4/7), מקורות, מטריות.
מניעה: כל קאסט, ציפוי אוטומטי, מטמון, לשחק נחמד עם ספקים.
10. 7 הפסקות PSP בתשלום
ייצוב: ניתוב חכם לשיטות PSP/חלופיות; להעלות מחדש עם ג 'יטר; ”רך” השפלה UI.
אבחון: ספייק כשל על ידי קודים, API statuses/PSP status pages.
תקשורת: עדכונים שקופים לעסקים ותמיכה, נכון סטטיסטיקת ND/המרה.
10. 8 תקרית בטיחות/דליפת PII
ייצוב: בידוד צומת/סיבוב סודי, חסימת חילוץ, אחיזה חוקית.
אבחון: צירי זמן גישה, נבדקים/שדות מושפעים.
הודעות: רגולטורים/שותפים/משתמשים לפי דרישות תחום השיפוט.
מניעה: שיפור DLP/קטגמנטציה, ”פריבילגיה לפחות”.
11) אוטומציה של ספרי שעשועים
פקודות ChatOps: '/ic להגדיר sev 1 ', '/פריסת rollback api 1. 23. 4 ', '/תכונה את X'.
Runbook-bots: צעדים חצי אוטומטיים (צומת ניקוז, להעיף תנועה, מטמון טיהור).
הווי ריפוי עצמי: גלאי = הפחתה סטנדרטית (rate-limit, restart, scale).
אוטומטי ליצור קלפים/צירי זמן מהתראות ופקודות.
12) איכות פנקס השמעה: רשימת בדיקות
[ ] תסמינים ברורים וגלאים (מדדים/רישומים/עקבות).
[ ] צעדים לייצוב מהיר בהערכת סיכונים.
[ פקודות/תסריטים ] עדכניים, נבדקו בהיערכות.
[ ] אימות התאוששות SLO.
[ תבניות תקשורת ] וקריטריונים לעדכון חיצוני.
[ ] הפניה שלאחר המוות ו CAPA לאחר הסגירה.
13) לאחר המוות (ללא אשמה) ו CAPA
המטרה: ללמוד, לא למצוא את האשם.
תוכן: מה שקרה, מה שנמצא כטוב/רע, תרומה של גורמים (אותם + תהליכים), פעולות למנוע.
מונח: SEV-1 - תוך 48 שעות; SEV-2 3 ימי עבודה.
CAPA: בעלים ספציפיים, תזמון, אפקטים מדידים (MTTR/MTTD מופחת).
14) היבטים משפטיים ובסיס ראיות
אחיזה חוקית: הקפאת יומנים/רצועות/התראות, אחסון פעם בכתב.
שרשרת אחסון של חפצים: גישה לפי תפקיד, בקרת שלמות.
הודעות רגולטוריות: צירי זמן/תבניות לתחום השיפוט (במיוחד עם תשלומים מושפעים/PII).
פרטיות: מח "ש מזערית ומסווה במהלך ניתוח.
15) מטריצות ביצועיות של תהליך תקרית
MTTD/MTTA/MTR לפי רבעון ותחום.
דיוק SEV (מפחית דיוק/מגזים).
נתח של תקריות אוטומטיות.
סיקור של תסריטי N העליונים (> 90%).
לבצע CAPA בזמן.
16) יישום לפי שלב
1. שבוע 1: מטריצת סו-וי, תפקידים תורניים, תבנית כרטיס כללית, תקנות חדר מלחמה.
2. שבוע 2: ספרי משחק לתסמינים 5 ביותר (5xx, DB lag, Kafka-lag, NodNotReady, TLS).
3. שבוע 3: ChatOps/Bots, אוטומטי יצירת כרטיסים, תבניות תקשורת/LookPage.
4. שבוע 4 +: Security Playbooks, PSP Outages, Legal Hold, Regulal Drills/Chaos Games
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
צומת ניקוז
bash kubectl cordon $NODE && kubectl drain $NODE --ignore-daemonsets --delete-emptydir-data --timeout=10m
FAIN-FLAG OFF (
bash curl -X POST "$FF_URL/toggle" -H "Authorization: Bearer $TOKEN" -d '{"feature":"X","enabled":false}'
18) מיני ־ FAQ
מתי להעלות את SEV-1?
כאשר הפונקציה של SLO/business (תשלומים, התחברות, משחק) סובלת, וקצב השרפה ”אוכל” את התקציב במשך שעות קדימה.
מה חשוב יותר - RCA או התאוששות?
תמיד ייצוב, ואז RCA. זמן לייצוב הוא האינדיקטור העיקרי.
אני צריך לעשות אוטומטי להכל?
אוטומט צעדים תכופים ובטוחים; נדיר/מסוכן - באמצעות חצי אוטומטי ואישור IC.
תוצאות
תהליך התקרית החזקה נשען על שלושה עמודים: תפקידים ברורים וחוקי SEV, ספרי משחק/חוברות איכותיים עם אוטומציה, ותרבות שלאחר המוות ללא אשמה. תבניות לכידה, רכבת בכוננות, מדידת תקציב MTTR/שגוי, ושיפור גלאים וספרי משחק באופן קבוע - דבר זה מקטין באופן ישיר את הסיכון ואת עלות ההשבתה.