MTTD là viết tắt của Mean Time To Detect. Đây là chỉ số đo thời gian trung bình từ lúc sự cố bắt đầu cho đến khi hệ thống hoặc đội vận hành phát hiện ra sự cố đó.
Trong vận hành hệ thống, MTTD phản ánh khả năng phát hiện sự cố nhanh hay chậm. MTTD càng thấp thì càng giảm thời gian người dùng bị ảnh hưởng và giúp đội vận hành vào xử lý sớm hơn.
MTTD cho biết điều gì
MTTD trả lời các câu hỏi rất thực tế:
- Sự cố bắt đầu lúc nào và mình biết được sau bao lâu
- Monitoring và alert có đủ nhạy và đủ đúng không
- Đội on-call có đang bị trễ vì alert thiếu rõ ràng hoặc quá nhiều cảnh báo nhiễu không
MTTD thấp thường đồng nghĩa bạn có cơ chế phát hiện tốt. Nhưng nếu MTTD thấp vì alert quá nhạy và bắn tràn lan thì sẽ gây alert fatigue và cuối cùng lại làm MTTD tăng.
Cách MTTD hoạt động và đo như thế nào
MTTD thường được tính bằng trung bình của nhiều incident.
- Thời điểm bắt đầu sự cố: có thể là lúc error rate tăng, latency tăng, hoặc một thành phần bắt đầu down
- Thời điểm phát hiện: là lúc alert được xác nhận, hoặc ticket incident được tạo, hoặc on-call acknowledge
Cách đo thực tế hay dùng:
- Với incident có timeline rõ: lấy thời điểm incident start và thời điểm detect, rồi tính delta
- Nếu có hệ thống incident management: dùng timestamp từ incident tool để chuẩn hoá
Điểm quan trọng là phải thống nhất định nghĩa “bắt đầu” và “phát hiện” trong đội, nếu không số liệu sẽ lệch và khó so sánh.
Ví dụ: Một service bắt đầu tăng 5xx lúc 10:00, alert bắn lúc 10:07 và on-call confirm lúc 10:10. Tuỳ định nghĩa, detect time có thể là 10:07 hoặc 10:10.
MTTD khác MTTR ra sao
Hai chỉ số hay đi cùng nhau nhưng khác mục tiêu:
- MTTD đo thời gian phát hiện
- MTTR đo thời gian khôi phục từ lúc phát hiện hoặc từ lúc bắt đầu, tuỳ cách định nghĩa
Có hệ thống MTTD thấp nhưng MTTR cao nếu phát hiện nhanh mà xử lý chậm vì thiếu runbook, thiếu quyền truy cập, hoặc hệ thống quá phức tạp.
MTTD bị ảnh hưởng bởi những yếu tố nào
Các yếu tố làm MTTD tăng:
- Alert thiếu coverage: lỗi xảy ra nhưng không có alert phù hợp
- Threshold đặt sai: quá cao nên không trigger, hoặc quá thấp làm nhiễu
- Thiếu signal theo user impact: chỉ đo hạ tầng mà không đo trải nghiệm người dùng
- Alert routing sai: bắn nhầm team hoặc không tới đúng on-call
- Alert fatigue: quá nhiều cảnh báo làm người trực bỏ qua cảnh báo quan trọng
- Observability thiếu correlation: alert báo symptom nhưng không chỉ ra nơi cần nhìn
Cách giảm MTTD trong production
Một số cách làm hiệu quả và dễ áp dụng:
- Ưu tiên alert theo: error rate, latency, saturation của tài nguyên quan trọng
- Dùng dashboard và alert theo SLO cho các luồng chính
- Chuẩn hoá severity và routing để alert đến đúng người
- Giảm nhiễu: gộp alert, chống alert lặp, tắt alert vô nghĩa
- Viết runbook ngắn gọn kèm link dashboard và truy vấn log
- Tổ chức postmortem để tìm lý do vì sao detect chậm và sửa lại alert
Ví dụ: Nếu nhiều incident chỉ được phát hiện qua khách báo, đó là dấu hiệu rõ ràng MTTD đang bị kéo lên vì monitoring không bám theo trải nghiệm người dùng.
Kết luận
MTTD là chỉ số đo thời gian phát hiện sự cố và là thước đo trực tiếp của chất lượng monitoring, alerting và quy trình on-call. Giảm MTTD thường bắt đầu từ việc alert đúng theo user impact, giảm cảnh báo nhiễu, và chuẩn hoá cách xác định thời điểm sự cố bắt đầu và thời điểm được phát hiện.







