مدیریت حوادث
(بخش: تکنولوژی و زیرساخت)
خلاصه ای کوتاه
مدیریت رخداد یک فرآیند قابل تکرار برای بازگرداندن سریع ارزش کاربر و به حداقل رساندن آسیب کسب و کار است. پشتیبانی - نقش های روشن (مدیر حادثه، Tech Lead، Comms)، دروازه های SLO، تشدید، فرآیندهای ChatOps، کتاب های آماده شده و تجزیه و تحلیل پس از حادثه «بی خطر» با موارد اقدام قابل اندازه گیری.
1) اهداف و اصول
سرعت و ایمنی: تشخیص سریع → تثبیت ایمن → بهبودی پایدار
Sole Owner - مدیر حادثه اختصاص داده شده (IM) تصمیمات فرآیند را می گیرد.
ارتباطات به عنوان یک محصول: به روز رسانی قابل پیش بینی برای ذینفعان و کاربران
داده ها> نظرات: SLO/metrics/trails/logs منبع حقیقت هستند.
بی گناه: تجزیه و تحلیل دلایل بدون اتهامات شخصی ؛ تمرکز بر بهبود سیستم
2) طبقه بندی حوادث (شدت/تاثیر/فوریت)
شدت (مثال):- SEV1 (بحرانی): آسیب شدید به درآمد/TTW/پرداخت،> 20٪ از کاربران یا کل مناطق ؛ SLA اختلال/تهدید PII.
- SEV2 (بالا): تخریب جزئی جریان های کلیدی (سپرده/شرط/راه اندازی بازی ها)، تاثیر 5-20٪.
- SEV3 (متوسط): تخریب قابل توجه خدمات ثانویه، بای پس وجود دارد.
- SEV4 (کم): جزئی، اثر محدود، هیچ تاثیری بر SLO/SLA ندارد.
تاثیر: چه کسی تحت تاثیر قرار می گیرد (تمام/منطقه/مستاجر/کانال). فوریت: نرخ تخریب (سریع سوزاندن/آهسته سوزاندن در بودجه خطا).
3) چرخه عمر حادثه
1. تشخیص - سیگنال از هشدار/SLO/synthetics/گزارش.
2. تأیید - در تماس تایید پذیرش، اختصاص IM.
3. Triage - نمره SEV/Impact، مجموعه فرضیه، کشف اتاق جنگ.
4. کاهش - تثبیت (بازگشت/مسیر سوئیچینگ/phicheflags/پوسته پوسته شدن).
5. برقراری ارتباط - به روز رسانی وضعیت به طور منظم (در داخل/خارج).
6. بازیابی - بازیابی کامل معیارهای SLO/کسب و کار.
7. بستن - ضبط وقایع، مجموعه ای از مصنوعات، PIR (آیتم های عمل RCA +).
4) نقشها و مسئولیتها (RACI)
مدیر رویداد (IM) - صاحب فرآیند، نقش ها را تعیین می کند، زمان را نظارت می کند، تصمیمات فرآیند را می گیرد (R).
سرب فنی (TL) - انجام تشخیص/فرضیه/رفع، مختصات مهندسان (A/R).
ارتباطات (Comms) - به روز رسانی وضعیت، ارتباط با پشتیبانی/کسب و کار/PR، صفحه وضعیت (R).
Scribe - پروتکل (جدول زمانی، تصمیمات گرفته شده، پیوندها، مصنوعات) (R).
ذینفعان - محصول/پرداخت/ارائه دهندگان بازی/امنیت (C/I).
حداقل در هر SEV1: IM + TL + Comms + Scribe. مجاز به ترکیب نقش ها در SEV2 است.
5) اتاق جنگ и ChatOps
کانال های فردی: «# incident-warroom- <id>» (کار)، «# incident-status» (فقط به روز رسانی).
دستورات الگو: «/incident start »، «/status update»، «/call <owner> »، «/rollback»، «/freeze »، «/scale + N».
ربات زمینه را می کشد: نسخه های اخیر، داشبورد، هشدارهای مرتبط، نمونه های ردیابی، طرح های وابستگی.
قوانین ارتباطات: به طور خلاصه، در حقایق، یک سخنران (TL)، معتدل IM.
6) راه اندازها و دروازه ها
دروازه های SLO: سوزاندن سریع/آهسته، افت تبدیل پرداخت، آستانه TTW p95>، ↑ API p99، صف های پرداخت در آتش است.
اقدامات خودکار: توقف قناری، چرخش، فعال کردن حالت کاهش (محدود کردن توابع)، فعال کردن synthetics فرکانس بالا.
یخ زدن: همه مهاجرت های آزاد/پا قبل از تثبیت و PIR.
7) سناریوهای معمولی (الگوهای رونابوک)
الف) پرداخت: افزایش زمان/شکست در PSP
1. جلوگیری از ترویج و توقف انتشار حلقه پرداخت.
2. مسیر PSP را به حالت آماده به کار تغییر دهید، زمان اتمام/بازپرداخت را با سیاست افزایش دهید.
3. آشتی از معاملات ناقص، تکرار با کلید idempointent.
4. ارتباطات Comms → پشتیبانی: ذخیره کار می کنید ؟ ای تی ای.
ب) p99↑ API و 5xx پس از انتشار
1. Rollback (آبی-سبز/قناری → پایدار).
2. بررسی ضربه کش، عمق صف، نقاط ارائه دهنده پایگاه داده/بازی.
3. مقیاس موقت، محدود کردن ویژگی های سنگین از طریق پرچم های ویژگی.
ج) ارائه دهنده بازی در دسترس نیست
1. تغییر ترافیک به استودیو/بازی های موجود، نشان می دهد یک بنر وضعیت.
2. چک های مصنوعی را هر 30-60 ثانیه روشن کنید.
3. توافق در جبران/پاداش (با سیاست) - اضافه کردن به PIR.
د) نشت/PII مشکوک
1. جداسازی کامپوننت، لغو کلید/رمز، جمع آوری ورود (WORM).
2. ارتباطات حقوقی/تنظیم مقررات.
3. اقدامات پس از حادثه: چرخش مخفی، پوشش، دسترسی.
8) ارتباطات (داخلی/خارجی)
فرکانس به روز رسانی: SEV1 - هر 15-30 دقیقه، SEV2 - 30-60 دقیقه.
قالب وضعیت داخلی:- نقد و بررسی بازی از طریق PSP-X: The Rise of Timeouts
- آسیب دیده: «TR/BR، ~ 18٪ از کاربران جریان».
- وقتی شروع شد: «12:07 EET، SEV1.»
- آنچه ما انجام می دهیم: «تغییر مسیر به PSP-Y، retrayes/rate cap enabled».
- پاسخ: «در 20 دقیقه»
- تماس با: «IM @ duty-im، TL @ oncall-pay».
وضعیت عمومی (صفحه/شبکه های اجتماعی) - به صورت مختصر، بدون PII و جزئیات غیر ضروری، با ETA و یک لینک برای به روز رسانی بیشتر.
9) جمع آوری و حسابرسی مصنوعات
جدول زمانی رویداد (دقت دقیقه)، نسخه های سرویس، پرچم های ویژگی، تغییرات پیکربندی.
تصاویر داشبورد، مسیرهای تقریبی (trace_id)، سیاهههای مربوط «قبل/در طول/پس از».
لينکها به بليط ها، روابط عمومي، نسخه ها، کتاب هاي فرار.
گزارش ارتباطات (چه زمانی/به/چه).
این همه به یک کارت حادثه اضافه می شود.
10) بسته شدن و PIR (بررسی پس از حادثه)
فرمت PIR (کوتاه):- خلاصه: چه اتفاقی افتاد، مقیاس، مدت زمان، SEV.
- تاثیر: کاربران/مناطق، SLO/SLA، Fin. اثر.
- جدول زمانی: در جزئیات، دقیقه.
- علت ریشه ای: فنی + سازمانی (چرا قبلا کشف نشده است).
- Detections & Defenses: چه چیزی کمک کرد/شکست خورد (هشدارها، synthetics، phicheflags).
- موارد عملی: وظایف خاص، صاحبان، مهلت (و نحوه بررسی اثر).
- درس های آموخته شده: آنچه ما در فرآیند/معماری/مشاهده پذیری تغییر می دهیم
قوانین: بدون اتهام، حداکثر حقایق، پیگیری اجباری پس از 2-4 هفته از چک کردن موارد تکمیل شده است.
11) معیارهای قابلیت اطمینان فرآیند
MTTD - میانگین زمان برای تشخیص
MTTA [...] تأیید) - قبل از تأیید در تماس.
MTTR [...] Restore) - تا زمانی که SLO بازسازی شود.
نرخ شکست تغییر -٪ از انتشار منجر به حوادث.
نرخ حادثه توسط SEV، توزیع توسط دامنه (پرداخت/بازی/Infra).
کیفیت هشدار: نسبت نویز/غلط، زمان عمل پس از هشدار.
Comm-SLA: انطباق با فرکانس به روز رسانی وضعیت.
12) ادغام با SLO و انتشار
گیتس در CD: ارتقاء قناری تنها با پروکسی SLO سبز (در دسترس بودن، p95، conv، TTW).
روش های انجماد: هنگام fast-burn/SEV1 - توقف انتشار قبل از PIR.
حاشیه نویسی خودکار در نمودارها: انتشار/پرچم/مهاجرت در داشبورد قابل مشاهده است.
13) تنظیم و انطباق
PII: پوشش/aliasing در سیاهههای مربوط/آهنگ، فروشگاه های حسابرسی WORM، کنترل دسترسی.
منطقه ای بودن: داده های کاربر را خارج از حوزه های مجاز قرار ندهید.
گزارش: نامه ها/اطلاعیه های رسمی به تنظیم کننده ها - قالب ها و روند تشدید.
14) یادگیری و آمادگی (روز بازی)
تمرینات سه ماهه: «افت PSP»، «ارائه دهنده بازی در دسترس نیست»، «افزایش P99»، «نشت کلیدی».
تایمر در MTTA/MTTR، یکپارچهسازی با سیستمعامل در ورزش.
به روز رسانی runabooks و مخاطبین، چک کردن دستورات ChatOps.
15) چک لیست آمادگی (قبل از حادثه)
1. قوانین SEV و ماتریس تشدید موافقت کردند.
2. اختصاص داده در تماس چرخش، IM/TL/COMMS/کاتب.
3. کتاب های اجرا برای سناریوهای کلیدی (پرداخت ها، بازی ها، پایگاه های داده، کش ها، صف ها).
4. کارت SLO و هشدار سوختگی، صفحه وضعیت.
5. ربات ChatOps: دستورات، خودکار زمینه، قالب های وضعیت.
6. قالب های PIR و کارت های حادثه.
7. به طور منظم روز بازی و تماس/تجدید نظر حقوق.
8. سیاست توقف و «دکمه قرمز» (بازگشت/کشتن سوئیچ).
16) ضد گلوله
هیچ IM تک وجود دارد، «جمعیت منجر» → هرج و مرج و تاخیر.
فقدان دروازه SLO → تشخیص دیر، هشدار پر سر و صدا.
انتشار در طول یک حادثه بدون توقف → سقوط آبشار.
سیاهههای مربوط و مسیرهای پیاده روی کافی نیست، هیچ مصنوعات → PIR ضعیف وجود دارد.
فرهنگ اتهام: اشتباهات پنهان، ترس از تشدید.
ارتباطات الهام بخش → از دست دادن اعتماد کسب و کار/کاربر.
17) قالب ها (کپی به ویکی شما)
A) کارت حادثه (YAML)
yaml id: INC-2025-11-005 title: PSP-X timeouts in TR/BR sev: SEV1 start_at: 2025-11-05T12:07:00+02:00 status: active impact: "Deposits via PSP-X failing for ~18% users (TR, BR)"
im: "@oncall-im"
tl: "@oncall-pay"
comms: "@oncall-comms"
scribe: "@oncall-scribe"
mitigations:
- "Reroute to PSP-Y"
- "Enable retries and raise timeouts"
next_update_in: "20m"
links:
grafana: "<dashboard-url>"
traces: "<tempo-link>"
logs: "<loki-query>"
runbook: "payments/psp_timeout"
B) به روز رسانی وضعیت (داخلی)
[12:25] SEV1 PSP-X timeouts — TR/BR
Impact: ~18% deposits affected. SLO fast-burn active.
Mitigation: Rerouting to PSP-Y; retries enabled; release freeze.
ETA next update: 12:45 EET
IM: @oncall-im TL: @oncall-pay
C) PIR (کلاه)
Summary, Impact, Timeline, Root Cause (tech+org),
Detections/Defenses, Action Items (owner+due), Lessons Learned.
خلاصه
مدیریت حادثه قوی ساختار + نظم و انضباط است: نقش های از پیش توافق شده، دروازه های SLO، کتاب های کار شده، ارتباطات شفاف و PIR «بی ضرر». این حلقه MTTA/MTTR را کاهش می دهد، هزینه خرابی را کاهش می دهد، اعتماد کاربر را ایجاد می کند و به شما امکان می دهد جسورانه تر اما با خیال راحت آزاد کنید.