Explore all courses in this category.
Explore all courses in this category.
Nguyễn Đình Cường
0 comment
09 Nov, 2026
Hệ thống chạy production sẽ có lúc gặp sự cố. Câu hỏi là bạn phát hiện nó trước hay người dùng phát hiện trước, và bạn mất bao lâu để tìm ra nguyên nhân. Observability (khả năng quan sát) cung cấp ba loại dữ liệu bổ trợ nhau giúp trả lời các câu hỏi đó.
Monitoring (giám sát) trả lời câu hỏi bạn đã biết trước: CPU bao nhiêu phần trăm, trang web còn sống không. Observability là khả năng đặt thêm những câu hỏi mới về hành vi hệ thống, kể cả khi chưa từng nghĩ tới trước đó, nhờ có đủ dữ liệu bên trong. Có thể hiểu monitoring là cái bảng đồng hồ, observability là khả năng mở nắp ca-pô để tìm hiểu.
Metrics là các con số theo thời gian: số yêu cầu mỗi giây, thời gian phản hồi, mức dùng RAM, số lỗi. Chúng nhỏ gọn, rẻ để lưu và rất hợp để vẽ biểu đồ và đặt cảnh báo.
Log là các bản ghi sự kiện có dấu thời gian: yêu cầu nào đến, lỗi nào xảy ra, người dùng nào thực hiện hành động. Log chi tiết nhất, nên là nơi bạn tìm nguyên nhân cụ thể.
Nên ghi log dạng có cấu trúc (JSON) để dễ lọc và tìm kiếm:
{"time":"2025-01-10T09:15:02Z","level":"error","msg":"thanh toan that bai","order_id":1234,"ma_loi":"TIMEOUT"}Khi một yêu cầu đi qua nhiều dịch vụ (cổng API, dịch vụ đơn hàng, dịch vụ thanh toán, database), trace theo dõi hành trình đó từ đầu đến cuối và chỉ ra mỗi chặng mất bao lâu. Nhờ vậy bạn thấy ngay đoạn nào là điểm nghẽn.
Một quy trình điều tra điển hình:
Mỗi loại dữ liệu thu hẹp phạm vi tìm kiếm cho bước sau. Thiếu một loại là bạn phải đoán.
Khi mới bắt đầu, hãy theo dõi bốn thứ cho mỗi dịch vụ:
Metrics cho bạn biết có vấn đề, trace chỉ ra vấn đề nằm đâu, log giải thích vì sao. Không cần mua giải pháp đắt tiền ngay; hãy bắt đầu với những gì đơn giản và mở rộng khi nhu cầu thật sự xuất hiện.
Nếu bạn muốn xây dựng hệ thống giám sát hoàn chỉnh cho dự án của mình, các khóa học trên codebem.com là điểm xuất phát tốt.
Nguyễn Đình Cường
0 comment