07

Kỹ sư DevOps · Bước 7/8 · 9 phút

Giám sát, khả năng quan sát và sự cố

Biết đo gì, khi nào cảnh báo, và cách xử lý cũng như rút kinh nghiệm sau một sự cố.

Metric, log và trace

Giám sát (monitoring) cho biết hệ thống có khoẻ không. Khả năng quan sát (observability) là có thể đặt câu hỏi mới về hệ thống khi có điều bất thường. Cả hai dựa vào ba loại tín hiệu. Metric là con số theo thời gian, như số request mỗi giây hay tỷ lệ lỗi. Log là bản ghi sự kiện. Trace theo dấu một request đi qua nhiều dịch vụ.

OpenTelemetry là tiêu chuẩn mở để thu thập cả ba. Prometheus và Grafana là những công cụ mã nguồn mở phổ biến cho metric và dashboard.

Cảnh báo theo điều người dùng cảm nhận

Hãy cảnh báo dựa trên triệu chứng người dùng nhận thấy, như lỗi và phản hồi chậm, không phải mỗi lần CPU tăng vọt. Quá nhiều cảnh báo sẽ dạy mọi người phớt lờ chúng.

Kỹ thuật độ tin cậy hệ thống dùng mục tiêu mức dịch vụ, SLO (service level objective): một mục tiêu như 99,9% request thành công trong 30 ngày. Khoảng trống dưới 100% là error budget (ngân sách lỗi). Nếu tiêu hết, bạn chậm việc phát hành lại và tập trung sửa độ ổn định.

Trong lúc sự cố

Trước hết, chặn thiệt hại: rollback, tắt feature flag hoặc thêm tài nguyên. Tìm nguyên nhân gốc sau. Chỉ định một người điều phối, ghi lại dòng thời gian bằng văn bản, và báo cho người dùng bị ảnh hưởng bằng lời lẽ dễ hiểu.

Sau sự cố

Viết bản rà soát sau sự cố không đổ lỗi (blameless post-incident review). Hỏi chuyện gì đã xảy ra, vì sao vào lúc đó những người trong cuộc thấy cách làm ấy là hợp lý, và điều gì sẽ ngăn nó lặp lại. Con người luôn mắc lỗi; hệ thống nên khiến lỗi khó xảy ra và dễ khắc phục. Theo dõi các việc cần làm tiếp cho đến khi xong.

Thử ngay

Viết thử một bản rà soát sau sự cố

  1. 1.Hỏi chatbot bằng câu lệnh bên dưới để nó dựng một sự cố giống thật.
  2. 2.Tự viết dòng thời gian: phát hiện, phản ứng, khắc phục, phục hồi.
  3. 3.Liệt kê ba việc cần làm tiếp, mỗi việc có người phụ trách, và bảo đảm không việc nào là "cẩn thận hơn".
Dựng một sự cố giống thật ở một cửa hàng online nhỏ, do một thay đổi cấu hình sai gây ra. Đưa tôi các cảnh báo và dòng log đội đã thấy, theo thứ tự, nhưng chưa đưa đáp án. Tôi sẽ viết dòng thời gian và nguyên nhân gốc, sau đó bạn nhận xét bản rà soát không đổ lỗi của tôi.
Dịch vụ của bạn sập sau một lần triển khai. Thường bạn nên làm gì trước tiên?

Tự kiểm tra

Dịch vụ của bạn sập sau một lần triển khai. Thường bạn nên làm gì trước tiên?