Mục tiêu của dashboard trực ca không phải "hiển thị mọi metric" mà là trả lời trong 30 giây: service này có ổn không, nếu không thì hỏng ở đâu.
Bố cục ba tầng, đọc từ trên xuống:
1. Trải nghiệm người dùng (trên cùng) — traffic, tỉ lệ lỗi, độ trễ p50/p95/p99, và tình trạng so với SLO. Đây là phần duy nhất người trực cần nhìn khi mọi thứ bình thường.
2. Phụ thuộc — độ trễ và tỉ lệ lỗi của từng downstream: database, cache, hàng đợi, API bên thứ ba. Tầng này trả lời "lỗi của mình hay của người khác".
3. Tài nguyên — CPU, bộ nhớ, số kết nối DB, độ sâu hàng đợi, số pod đang chạy. Dùng để xác nhận giả thuyết, không phải để phát hiện sự cố.
Nguyên tắc thực dụng:
- Mỗi biểu đồ phải trả lời một câu hỏi cụ thể; biểu đồ không ai dùng thì xóa.
- Cùng một trục thời gian cho mọi panel để so mốc tăng giảm.
- Đánh dấu thời điểm deploy lên đồ thị — phần lớn sự cố trùng với một lần thay đổi.
- Ghi ngay trên dashboard link tới runbook và tới dashboard của downstream.
Dashboard chi tiết theo từng thành phần vẫn nên có, nhưng tách riêng để không làm nhiễu màn hình chính.