Bài 55: Postmortem không đổ lỗi sau sự cố
Bài này chi tiết hóa Postmortem theo hướng vận hành bền vững: có mẫu kiểm tra, tình huống thực tế, checklist và bài tập.
- Postmortem giúp hệ thống vận hành bền vững như thế nào.
- Các lệnh, tài liệu hoặc cấu hình nên kiểm tra.
- Cách phản ứng khi có sự cố thực tế.
- Cách biến kinh nghiệm vận hành thành checklist/runbook.
1. Bối cảnh thực tế
Postmortem thuộc nhóm kỹ năng giúp hệ thống không chỉ “chạy được”, mà còn dễ quan sát, dễ bảo vệ, dễ khôi phục và dễ học từ sự cố. Đây là phần quan trọng để vận hành lâu dài.
2. Khái niệm cần nắm
- Visibility: phải nhìn thấy log, metric, trạng thái và thay đổi.
- Actionable alert: cảnh báo phải dẫn tới hành động rõ ràng.
- Recovery: có kế hoạch khôi phục trước khi thảm họa xảy ra.
- Continuous improvement: sau sự cố phải có bài học và action item.
3. Lab thực hành / mẫu kiểm tra
# mẫu postmortem Incident: Impact: Timeline: Detection: Root cause: Contributing factors: What went well: What went wrong: Action items: Owner / Deadline:
4. Tình huống thực tế
Một deploy làm website lỗi 30 phút. Postmortem giúp thêm health check, canary/rollback tốt hơn và cập nhật runbook, không phải để đổ lỗi cá nhân.
5. Quy trình áp dụng
- Xác định mục tiêu: quan sát, bảo vệ, khôi phục hay cải thiện.
- Thu thập trạng thái hiện tại: log, metric, config, tài liệu.
- Thiết kế checklist hoặc rule đơn giản trước.
- Test trong lab/staging nếu có.
- Áp dụng production theo từng bước nhỏ.
- Theo dõi sau thay đổi và ghi lại kết quả.
- Cập nhật tài liệu/runbook để lần sau xử lý nhanh hơn.
6. Lỗi thường gặp
- Có dashboard nhưng không có alert.
- Có alert nhưng không có runbook.
- Có backup nhưng chưa từng restore.
- Có chính sách bảo mật nhưng không audit định kỳ.
- Sau incident chỉ sửa tạm, không rút kinh nghiệm.
7. Checklist
- Có log/metric đủ để điều tra.
- Có cảnh báo có ý nghĩa hành động.
- Có runbook cho alert quan trọng.
- Có backup/restore/DR được test.
- Có audit quyền truy cập và secret.
- Có postmortem sau incident lớn.
8. Bài tập
- Chọn một hệ thống nhỏ và viết checklist vận hành.
- Tạo một alert giả định kèm runbook xử lý.
- Viết kế hoạch backup/restore/DR ngắn.
- Viết mẫu postmortem cho một sự cố giả định.
