Bài 30: Prometheus và Grafana nhập môn
Bài này chi tiết hóa Prometheus/Grafana theo hướng thực hành: có lab, lệnh mẫu, tình huống thực tế, checklist và bài tập.
- Prometheus/Grafana giải quyết vấn đề gì trong DevOps thực tế.
- Các khái niệm/lệnh quan trọng cần nhớ.
- Cách dựng lab nhỏ để thực hành.
- Cách kiểm tra, rollback và ghi chú vận hành.
1. Bối cảnh thực tế
Prometheus/Grafana thuộc nhóm kỹ năng giúp tự động hóa, chuẩn hóa và vận hành hệ thống ở quy mô lớn hơn. Khi server/app nhiều lên, thao tác tay sẽ dễ sai; vì vậy cần quy trình, công cụ và checklist rõ ràng.
2. Khái niệm cần nắm
- State: trạng thái hiện tại của hệ thống hoặc ứng dụng.
- Config as code: cấu hình được lưu thành file để review, tái sử dụng.
- Idempotent: chạy nhiều lần vẫn cho kết quả ổn định.
- Rollback: quay lại trạng thái an toàn khi triển khai lỗi.
3. Lab thực hành
# node exporter metric
curl http://localhost:9100/metrics 2>/dev/null | head
# prometheus scrape config mẫu
scrape_configs:
- job_name: node
static_configs:
- targets: ["server1:9100"]
systemctl status prometheus || true
systemctl status grafana-server || true
4. Tình huống thực tế
Anh cần dashboard CPU/RAM/disk/network cho nhiều server. Prometheus thu metric, Grafana hiển thị dashboard và alert khi vượt ngưỡng.
5. Quy trình áp dụng an toàn
- Viết cấu hình hoặc command trong môi trường lab.
- Kiểm tra syntax/plan/status trước khi apply.
- Chạy với phạm vi nhỏ trước.
- Quan sát log, metric và health check.
- Ghi lại thay đổi vào tài liệu vận hành.
- Chuẩn bị rollback hoặc version trước đó.
6. Lỗi thường gặp
- Copy cấu hình từ mạng mà không hiểu biến/môi trường.
- Không lưu file cấu hình vào Git.
- Không kiểm tra log sau khi apply.
- Không có môi trường test/staging.
7. Checklist
- Có file cấu hình rõ ràng.
- Có bước kiểm tra trước khi apply.
- Có log/health check sau khi apply.
- Có rollback/version cũ.
- Có tài liệu ai chạy, chạy khi nào, kết quả gì.
8. Bài tập
- Dựng một lab nhỏ theo lệnh mẫu.
- Chạy lệnh kiểm tra trạng thái trước/sau.
- Tạo một lỗi cấu hình nhỏ và sửa lại.
- Viết checklist production cho chủ đề này.
