Mini SRE & Security Platform Lab
Hai Ubuntu VM tạo thành một lab availability, observability, logging và hardening — được làm hỏng có chủ đích để chứng minh cách phát hiện và phục hồi.
System
Một platform nhỏ nhưng đi đủ vòng đời vận hành.
- HAProxy cân bằng tải cho hai app instance và kiểm chứng failover.
- Prometheus/Grafana theo dõi health; Loki/Alloy tập trung log xuyên host.
- dnsmasq, chrony, Ansible validation, SSH hardening và UFW allow-list.
- Bash/Python health checks phục vụ kiểm tra lặp lại.
Evidence
Sự cố được biến thành tài liệu tuyển dụng có thể đọc.
Lab có 6 RCA, 8 troubleshooting runbook và command output lưu theo từng phase. Các lỗi thật được ghi lại gồm false positive trong script health-check và lỗi thứ tự load cấu hình SSH.
REPLAY OF A DOCUMENTED INCIDENT · RCA-03 · 2026-07-09
Alloy (log collector) trên sre-node-1 bị dừng có chủ đích để kiểm tra điều gì xảy ra với log sinh ra trong lúc pipeline đứt. Giả định ban đầu: mất vĩnh viễn. Kết quả thật khác dự đoán.
- 01Dừng Alloy có chủ đích trên sre-node-1 (
docker compose stop alloy); sre-lb/app1/app2 vẫn chạy và log cục bộ bình thường. - 02Gửi 1 request thật qua HAProxy trong lúc Alloy dừng.
docker logs sre-lbxác nhận HAProxy đã ghi dòng đó cục bộ — request có thật, độc lập với Alloy. - 03Truy vấn Loki trong lúc Alloy còn dừng: dòng mới nhất vẫn là trước khi Alloy dừng — đúng như dự đoán, có khoảng trống.
- 04Khởi động lại Alloy, gửi request thứ hai, truy vấn lại: Loki trả về cả dòng đã "mất" ở bước 2 — vì Alloy đọc lại file log Docker còn giữ, không chỉ log mới. Chưa test trường hợp file đã bị rotate/truncate.
What I learned
“Service is up” chưa phải là evidence.
Validation cần kiểm tra cả chiều dương lẫn chiều âm: traffic được phép phải đi qua, traffic không được phép phải thật sự bị chặn. Cấu hình chỉ đáng tin khi kiểm tra effective state, không phải chỉ nhìn file.
Scope trung thực: lab-scale trên hai VM, không đại diện cho production HA hay cloud deployment.