E2 — Alerting + On-Call Disiplini#
"Her şeye alarm koymak, hiçbir şeye alarm koymamaktır — ikisi de aynı gece uyandırır ya da uyandırmaz."
Blok: E — Sahiplik · Süre: ~12 saat · Ön koşul: E1, B1
🎯 Bu modülü bitirdiğinde#
- SLO'ya bağlı, eyleme çağıran (actionable) bir alarm kurarsın.
- Gürültü alarmı ile gerçek alarmı ayırır, alarm yorgunluğunu azaltırsın.
- Sürdürülebilir bir on-call rotasyonunun neye benzediğini açıklarsın.
🧠 Niye bu, niye şimdi#
E1'de "yeterince iyi"yi tanımladın; E2 o eşik aşıldığında kimin, ne zaman haberdar olacağını kurar. Bu modülün alarm kuralları B2'de kurduğun Prometheus/PromQL üstüne yazılır (E1 zaten B2'yi ön koşul sayar — metriği ölçemediğin bir şeye alarm koyamazsın). E3'teki incident response bu alarmlarla tetiklenir.
📖 Önce oku#
| Kaynak | Ne için | Süre |
|---|---|---|
07-Observability/Alerting-Done-Right.md | actionable alarm | ~30 dk |
00-Culture/On-Call-Playbook.md | nöbet disiplini | ~25 dk |
🔨 Lab#
✅ Kabul kriterleri#
Hepsi doğrulanmadan sonraki modüle geçme: - [ ] SLO'ya bağlı, tetiklenip çözülen bir alarm kuralı yazıldı ve bir kez ateşlendi — Alertmanager (Prometheus'un alarmları gruplayan/yönlendiren/susturan bileşeni; L19'da kurarsın) veya panel çıktısıyla kanıt (PromQL'i havadan kurma: L19 README Görev 1 hangi kuralı yazacağını adım adım verir — hata oranı 1 dk'da eşiği aşınca) - [ ] En az bir "gürültü alarmı" örneği ve niçin sessize alındığı/kaldırıldığı yazıldı - [ ] Her alarm "gece 3'te uyandırmalı mı?" testine göre sınıflandırıldı (page / ticket / log) — yazılı tablo - [ ] Bir alarm çözülmezse kime, ne zaman yükseleceği (eskalasyon) yazılı tanımlandı
🧪 Kendini test et#
- "CPU %80" ve "hata oranı error budget'ı 1 saatte yakacak hızda" — hangisi page olmalı, niçin?
- Alarm yorgunluğu neyi bozar ve nasıl ölçersin?
- Bir alarm ateşliyor ama runbook'u yok. İlk düzeltme alarmı susturmak mı?
Cevaplar
1. İkincisi. CPU %80 bir belirti olabilir ama tek başına eylem gerektirmez (cause-based, sık gürültü); "bütçe şu hızda yanıyor" kullanıcı etkisine bağlıdır ve eyleme çağırır (symptom-based). Ayrım [`07-Observability/Alerting-Done-Right.md`](../../07-Observability/Alerting-Done-Right.md)'de. 2. Gerçek alarmın gürültü içinde kaçırılmasına yol açar — görevli artık bakmaz. Ölçüsü: alarm başına eyleme dönüşme oranı; "ack'lenip (onaylanıp) kapatılan" çok, "eyleme dönen" azsa alarm gürültüdür. (ack = alarmı gördüm/üstleniyorum onayı.) 3. Hayır. Susturmak semptomu gizler. Önce eyleme çağırıp çağırmadığına bak: çağırmıyorsa kuralı düzelt/kaldır, çağırıyorsa runbook yaz. Susturma yalnızca bilinçli, süreli ve denetim kaydı bırakan bir işlemdir. Nöbet disiplini [`00-Culture/On-Call-Playbook.md`](../../00-Culture/On-Call-Playbook.md)'de.🆘 Takıldıysan#
| Belirti | Muhtemel sebep | Ne yap |
|---|---|---|
| Görevli her gece uyanıyor | Çok fazla page-seviyesi alarm | Yalnızca kullanıcı etkili/actionable olanı page yap, gerisini ticket'a düşür |
| Alarm ateşliyor, kimse ne yapacağını bilmiyor | Runbook/eylem yok | Her page alarmına tek bir "ilk adım" runbook'u bağla |
| Gerçek arıza kaçtı | Gürültü içinde boğuldu | Alarm audit yap; eylemsiz kuralları kaldır, eşiği SLO'ya bağla |
| Alarm çözülmeden unutuldu | Eskalasyon zinciri yok | Ack + süreli eskalasyon tanımla; sessize almayı denetim kaydına bağla |
💼 Portfolyo çıktısı#
SLO'ya bağlı bir alarm kuralı seti + on-call notların.
⏭️ Sırada#
"İyi bir alarm bir soru sormaz, bir eylem söyler."