Blog chia sẻ về công nghệ ...
Published on

[Google-SRE-bản dịch tiếng việt]-Effective Troubleshooting in SRE

Authors

📑 Mục Lục

  1. Giới thiệu
  2. Mô hình tư duy khi xử lý sự cố
  3. Những lỗi phổ biến cần tránh
  4. Thực hành xử lý sự cố
  5. Từ giả thuyết đến khắc phục
  6. Nghiên cứu tình huống thực tế
  7. Giảm độ phức tạp khi xử lý sự cố
  8. Kết luận

🔍 Giới thiệu

Xử lý sự cố là một kỹ năng cốt lõi trong SRE – không chỉ đơn thuần là hiểu hệ thống khi nó hoạt động bình thường mà còn phải tìm ra nguyên nhân khi nó không hoạt động đúng. Chương này đề cập đến một cách tiếp cận có hệ thống và khoa học trong việc xử lý lỗi sản phẩm.

🧠 Mô hình tư duy khi xử lý sự cố

Quá trình xử lý lỗi dựa trên phương pháp giả thuyết – kiểm định (hypothetico-deductive). Từ một báo cáo sự cố, SRE thu thập log và metrics từ hệ thống, đối chiếu với hiểu biết của họ để đưa ra các giả thuyết. Sau đó là các bước kiểm tra từng giả thuyết để tìm ra nguyên nhân gốc rễ.

❌ Những lỗi phổ biến cần tránh

  1. Hiểu sai metrics, dẫn đến "đuổi theo bóng ma".
  2. Kiểm thử hệ thống sai cách, gây thêm lỗi.
  3. Lặp lại lỗi cũ thay vì kiểm tra giả thuyết mới.
  4. Nhầm lẫn giữa tương quan và nguyên nhân.
  5. Thất bại trong việc thu thập bằng chứng định lượng và định tính.

🛠️ Thực hành xử lý sự cố

Quy trình gồm:

  • Triage: đánh giá độ nghiêm trọng và ưu tiên xử lý.
  • Examine: thu thập thông tin từ logs, metrics, traces.
  • Diagnose: đưa ra giả thuyết và kiểm định.
  • Test & Treat: tiến hành thử nghiệm có kiểm soát.
  • Cure: sửa lỗi và viết postmortem.

Ví dụ: Sử dụng curl, trace ID, logmetrics để truy tìm điểm nghẽn từ frontend đến backend.

🔬 Từ giả thuyết đến khắc phục

  • Chia để trị: xử lý theo từng lớp.
  • Hỏi 5W1H: Cái gì, ở đâu, tại sao lại như vậy?
  • Nhớ những thay đổi gần đây: như deploy, config, traffic pattern.
  • Thiết kế thí nghiệm tốt: loại trừ giả thuyết thay vì chỉ xác nhận.

Lưu trữ kết quả thử nghiệm là cực kỳ quan trọng để tái sử dụng và học từ sai lầm.

📚 Nghiên cứu tình huống thực tế

Ứng dụng khách hàng bị tăng latency đột ngột. Quá trình điều tra cho thấy:

  • Không có deploy hay config nào mới.
  • Chỉ duy nhất một app bị ảnh hưởng.
  • Cuối cùng phát hiện scanner bảo mật tạo hàng ngàn whitelist entries, gây giảm hiệu năng do kiểm tra access list mỗi request.

Fix: Xóa whitelist thừa + sửa logic access control.

🧰 Giảm độ phức tạp khi xử lý sự cố

  • Sử dụng log có cấu trúcmetrics đúng chuẩn.
  • Thiết kế hệ thống với các interface rõ ràng.
  • Gắn request_id xuyên suốt các thành phần.
  • Control & trace mọi thay đổi trong production.

✅ Kết luận

Xử lý sự cố là kỹ năng có thể học được. Với quy trình hợp lý và tư duy hệ thống, SRE có thể giảm thời gian phục hồi và cải thiện độ tin cậy của hệ thống.