Observability là khả năng hiểu hệ đang xảy ra gì từ bên ngoài qua dữ liệu nó phát ra — để trả lời "cái gì hỏng, ở đâu, vì sao", nhất là trong hệ phân tán. Ba trụ cột:
- Logs: bản ghi sự kiện rời rạc kèm thời điểm và ngữ cảnh ("event X, user Y, lỗi Z"). Chi tiết, hợp điều tra một ca cụ thể. Nên dùng structured log (JSON) và correlation id để lần theo.
- Metrics: số liệu tổng hợp theo thời gian (request/s, p95 latency, error rate, CPU). Nhẹ, hợp dashboard và alert khi vượt ngưỡng; trả lời "có vấn đề không".
- Traces: theo dấu một request đi qua nhiều service (mỗi chặng là một span). Trả lời "chậm/lỗi ở service nào trong chuỗi"; cốt lõi cho microservices.
Ghép lại: metric báo có sự cố → trace khoanh vùng service → log soi chi tiết nguyên nhân. Chuẩn chung: OpenTelemetry.