Olaylar ve SRE oyun kitapları
1) Olayın ne olduğu ve SLO ile nasıl ilişkili olduğu
Bir olay, bir SLO/hizmet işlevini ihlal eden veya ihlal riski yaratan bir olaydır (hatalı bir bütçe kabul edilemez derecede hızlı bir şekilde yakılır).
Klasik metrikler: MTTD, MTTA, MTTR, MTBF.
Bütçe hatası ve yanma oranı, öncelik ve yükseltme pencerelerini belirler.
2) Önem düzeyleri (SEV'ler) ve kriterler
SEV tetikleyicileri: %5xx'i aşan, p95> eşiği, ödeme düşüşü artışı, Kafka-lag> eşiği, NodeNotReady> X dk, TLS süresi <7 gün, DDoS sinyalleri/sızıntısı.
3) Roller ve Sorumluluklar (RACI)
Olay Komutanı (IC) - tek karar verme, görev akışı yönetimi, SEV durum değişikliği.
Ops Lead (Tech Lead) - teknik strateji, hipotezler, düzeltmelerin koordinasyonu.
Communications Lead (Comms) - durum güncellemeleri (dahili/harici), StatusPage/chat/mail.
Scribe (Chronicler) - zaman çizelgesi, çözümler, eserler, grafiklere/günlüklere bağlantılar.
On-call Engineers/SMEs - playbook eylemlerinin yürütülmesi.
Güvenlik/Gizlilik - Güvenlik veya PII olayları için etkinleştirilir.
FinOps/Ödemeler - faturalandırmayı/PSP/maliyeti etkilerken.
4) Olay yaşam döngüsü
1. Algılama (uyarı/rapor/sentetik) - bir olay kartının otomatik olarak oluşturulması.
2. Triyaj (IC atanmış, SEV atanmış, minimum bağlam toplama).
3. Dengeleme (azaltma: özellik/geri alma/hız sınırı/yük devretme özelliğini kapatın).
4. Soruşturma (RCA hipotezleri, gerçeklerin toplanması).
5. Hizmet kurtarma (SLO, gözlem doğrulayın).
6. İletişim (iç/dış, nihai rapor).
7. Postmortem (ücret yok, CAPA planı, sahipler, son tarihler).
8. Önleme (testler/uyarılar/oyun kitapları/bayraklar, ekibin ek eğitimi).
5) İletişim ve "savaş odası"
Birleşik Olay Kanalı ('# inc-sev1-YYYYMMDD-hhmm'), sadece gerçekler ve eylemler.
Radyo protokol stili komutları: "IC: Sürüm 1'i geri alıyorum. 24- ETA 10 dk"
Durum güncellemeleri: Her 15 dakikada bir SEV-1 SEV-2 her 30-60 dakikada bir.
Durum Sayfası/dış iletişim - Comms Lead aracılığıyla şablona göre.
Yasak: Paralel "sessiz" odalar, ortak bir kanala test edilmemiş hipotezler.
6) Uyarı ve SLO-yanık (örnek kurallar)
Hızlı kanal (1-5 dakika) ve yavaş kanal (1-2 saat) yanma hızı.
Çoklu sinyaller: bütçe hatası, %5xx, p95, Kafka-lag, ödeme düşüş oranı, sentetikler.
Kök nedenini arayın - sadece semptomları stabilize ettikten sonra.
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
Playbook - olay türüne göre eylem senaryosu (dallanma, koşullar, riskler).
Runbook - adımların/komutların belirli bir "haritası" (kontroller, düzeltmeler, doğrulama).
Kural: Oyun kitabı birkaç runbook'a atıfta bulunur (geri dönüşler, özellik bayrakları, yük devretme, ölçeklendirme, trafiği engelleme vb.).
8) Olay kartı şablonu
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 oyun kitabı şablonu (Markdown)
markdown
Плейбук: <название>
Область/симптомы
Список детекторов, сигнатуры в метриках/логах/трассах.
Быстрая стабилизация (Triage & Mitigation)
- [ ] Ограничить трафик/включить WAF-правило/фичефлаг OFF
- [ ] Роллбэк/канареечный релиз/выкатить фикс конфигурации
- [ ] Включить деградационный режим (read-only, кэш-форс)
Диагностика (RCA hints)
- Метрики: … Логи: … Трассы: …
- Частые первопричины/чек-лист гипотез
Риски и коммуникации
- Внутренние/внешние апдейты, SLA-обязательства
Верификация
- [ ] SLO восстановлено (порог/время окна)
- [ ] Нет регресса по смежным сервисам
Последующие действия
- CAPA, задачи в backlog, обновление алертов/дашбордов/плейбука
10) Tipik oyun kitapları
10. 1 API 5xx Spike
Stabilizasyon: sorunlu ficheflag'ı kapatın; Boost API replikaları Önbelleğe almayı etkinleştir ve sürümü geri al.
Tanılama: Diff salınımı, günlüklerdeki hatalar (üst istisnalar), p95 büyümesi, basınç DB/önbellek.
Riskler: Ödemelerde/arka uçlarda kademeli.
10. 2 БД: çoğaltma gecikmesi/kilit fırtınası
Stabilizasyon: ağır işlerin/raporların askıya alınması; Okumaları sihirbaz artış wal_buffers/replika-sloty yönlendirin.
Teşhis: uzun işlemler, engelleme istekleri, plan değişiklikleri.
Fiksasyon: indeksler/ipuçları, işlerin yeniden geliştirilmesi, bölünmüş sorgular.
10. 3 Kafka tüketici gecikmesi
Stabilizasyon: tüketicileri geçici olarak ölçeklendirir; Kritik olmayan hizmetlerden üretimi azaltmak; partileri/kotaları artırmak.
Tanılama: yeniden dengelemeler, yavaş çölleşmeler, GC duraklamaları.
Doğrulama: Hedef değerde gecikme, düşme yok.
10. 4 K8s NodeNotReady/kaynak fırtınası
Stabilizasyon: kordon + drenaj; Yükleri yeniden dağıtın; CNI/overlay'in gürültülü DaemonSet'leri kapatmasını denetleyin.
Tanılama: disk basıncı, OOM, kısma, ağ damlaları.
Önleme: pod bozulma bütçeleri, kaynak limitleri/istekleri.
10. 5 TLS/sertifikaların süresi doldu
Stabilizasyon: gizli/girişin zorla güncellenmesi; Geçici geçersiz kılma.
Teşhis: güven zinciri, saat eğriliği.
Önleme: uyarılar T-30/T-7/T-1, otomatik-renual.
10. 6 DDoS/anormal trafik
Stabilizasyon: WAF/bot kuralları, hız limiti/coğrafi filtreler, yukarı akış boşaltma yükü.
Teşhis: saldırı profilleri (L3/4/7), kaynaklar, şemsiyeler.
Önleme: Herhangi bir yayın, otomatik ölçeklendirme, önbelleğe alma, sağlayıcılarla iyi oynayın.
10. 7 Ödeme PSP kesintisi
Stabilizasyon: Alternatif PSP/yöntemlere akıllı yönlendirme; jitter ile yeniden deneme yükseltin; "Yumuşak" UI bozulması.
Tanılama: kodlara göre ani hatalar, API durumları/PSP durum sayfaları.
İletişim: iş ve destek için şeffaf güncellemeler, doğru ND/dönüşüm istatistikleri.
10. 8 Güvenlik Olayı/PII Sızıntısı
Stabilizasyon: düğüm izolasyonu/gizli rotasyon, exfiltrasyon engelleme, Yasal Bekletme.
Tanılama: erişim zaman çizelgeleri, etkilenen konular/alanlar.
Bildirimler: Düzenleyiciler/Ortaklar/Kullanıcılar Yargı Yetkisine Göre Gereksinimler.
Önleme: DLP/segmentasyon geliştirme,'en az ayrıcalık ".
11) Oyun kitaplarının otomasyonu
ChatOps komutları:'/ic set sev 1 ','/deploy rollback api 1. 23. 4 ','/feature off X'.
Runbook-botlar: yarı otomatik adımlar (boşaltma düğümü, trafiği çevirme, önbelleği temizleme).
Kendi kendini iyileştiren kancalar: dedektör - standart azaltma (hız sınırı, yeniden başlatma, ölçek).
Uyarı ve komutlardan kartları/zaman çizelgelerini otomatik olarak oluşturun.
12) Playbook kalitesi: kontrol listesi
- Açık belirtiler ve dedektörler (metrikler/günlükler/izler).
- Risk değerlendirmesi ile hızlı stabilizasyon adımları.
- Komutlar/komut dosyaları güncel, evreleme sırasında kontrol edildi.
- SLO kurtarma doğrulaması.
- İletişim şablonları ve dış güncelleme kriterleri.
- Post-mortem referans ve kapanıştan sonra CAPA.
13) Ölüm sonrası (suçsuz) ve CAPA
Amaç: Öğrenmek, suçluyu bulmak değil.
İçerik: Ne olduğu, neyin iyi/kötü olduğu, faktörlerin katkısı (bu + süreçler), önlenmesi gereken eylemler.
Dönem: SEV-1 - 48 saat içinde; SEV-2 - 3 iş günü.
CAPA: belirli sahipler, zamanlama, ölçülebilir etkiler (azaltılmış MTTR/artırılmış MTTD).
14) Yasal yönleri ve kanıt tabanı
Yasal Tutma: Günlükleri/parçaları/uyarıları dondurma, bir kez yazma depolama.
Eserlerin depolanma zinciri: role göre erişim, bütünlük kontrolü.
Düzenleyici bildirimler: yargı bölgeleri için zaman çizelgeleri/şablonlar (özellikle etkilenen ödemeler/PII ile).
Gizlilik: Ayrıştırma sırasında PII minimizasyonu ve maskeleme.
15) Olay Süreci Performans Metrikleri
MTTD/MTTA/MTTR çeyrek ve etki alanına göre.
SEV doğruluğu (underrating/overstating).
Otomatik hafifletici olayların paylaşımı.
En iyi N senaryolarının playbook kapsamı (> %90).
CAPA'yı zamanında gerçekleştirin.
16) Faza göre uygulama
1. 1. Hafta: SEV matrisi, nöbetçi roller, genel kart şablonu, savaş odası düzenlemeleri.
2. 2. Hafta: İlk 5 semptom için oyun kitapları (5xx, DB lag, Kafka-lag, NodeNotReady, TLS).
3. 3. Hafta: ChatOps/botlar, otomatik oluşturma kartları, iletişim şablonları/StatusPage.
4. 4. Hafta +: Güvenlik Oyun Kitapları, PSP Kesintileri, Yasal Bekletme, Düzenli Tatbikatlar/Kaos Oyunları
17) "Hızlı" ranbooks örnekleri (fragmanlar)
Geri alma API'si (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
Boşaltma düğümü
bash kubectl cordon $NODE && kubectl drain $NODE --ignore-daemonsets --delete-emptydir-data --timeout=10m
Özellik-bayrak KAPALI (örnek)
bash curl -X POST "$FF_URL/toggle" -H "Authorization: Bearer $TOKEN" -d '{"feature":"X","enabled":false}'
18) Mini-SSS
SEV-1 ne zaman yükseltilir?
Anahtar SLO/iş fonksiyonu (ödemeler, giriş, oyun) zarar gördüğünde ve yakma oranı bütçeyi saatlerce "yediğinde".
Hangisi daha önemli - RCA mı yoksa kurtarma mı?
Her zaman stabilizasyon, sonra RCA. Stabilizasyon zamanı ana göstergedir.
Her şeyi otomatikleştirmek zorunda mıyım?
Sık ve güvenli adımları otomatikleştirmek; Nadir/riskli - yarı otomatik ve IC onayı ile.
Sonuç
Sağlam olay süreci üç ayağa dayanıyor: net roller ve SEV kuralları, otomasyonlu kaliteli oyun kitapları/ranbooks ve suçsuz bir ölüm sonrası kültür. Kalıpları yakalayın, çağrı üzerine eğitim yapın, MTTR/hatalı bütçeyi ölçün ve dedektörleri ve oyun kitaplarını sürekli iyileştirin - bu, kesinti riskini ve maliyetini doğrudan azaltır.