Hệ thống Giám sát & Cảnh báo (Monitoring & Alerting) được ví như “hệ thần kinh” của một hệ thống số. Nó không chỉ giúp chúng ta biết hệ thống “còn sống” hay không, mà còn giúp dự báo các rủi ro trước khi chúng trở thành thảm họa thực sự.
Dưới đây là các đặc điểm then chốt của một hệ thống giám sát hiện đại:
1. Các thành phần chính của Giám sát
Một hệ thống giám sát đầy đủ thường xoay quanh 3 trụ cột (The Three Pillars of Observability):
- Metrics (Số liệu): Các thông số định lượng được đo lường theo thời gian (ví dụ: % CPU, dung lượng RAM còn trống, số lượng request/giây).
- Logging (Nhật ký): Các bản ghi chi tiết về các sự kiện xảy ra trong hệ thống (ví dụ: lỗi 500, lịch sử đăng nhập).
- Tracing (Truy vết): Theo dõi hành trình của một yêu cầu từ lúc bắt đầu đến khi kết thúc qua nhiều dịch vụ khác nhau, giúp tìm ra “nút thắt cổ chai”.
2. Đặc điểm của hệ thống Cảnh báo (Alerting)
Cảnh báo không chỉ đơn thuần là gửi tin nhắn lỗi, mà phải đảm bảo tính chính xác và kịp thời:
- Ngưỡng cảnh báo (Thresholds): Thiết lập các mức độ như Warning (Cảnh báo nhẹ) hoặc Critical (Nghiêm trọng). Ví dụ: CPU > 80% là Warning, > 95% là Critical.
- Kênh thông báo đa dạng: Tích hợp với Telegram, Slack, Email, hoặc gọi điện trực tiếp (PagerDuty) để đảm bảo người có trách nhiệm nhận được tin ngay lập tức.
- Chống nhiễu cảnh báo (Alert Fatigue): Hệ thống cần có cơ chế gom nhóm các cảnh báo liên quan (Aggregation). Thay vì gửi 100 tin nhắn cho 100 lỗi nhỏ, nó chỉ gửi 1 tin nhắn tổng hợp về lỗi hệ thống chính.
- Leo thang cảnh báo (Escalation): Nếu người trực ca đầu tiên không phản hồi trong 5 phút, hệ thống sẽ tự động gửi cảnh báo lên cấp quản lý cao hơn.
3. Các mô hình thu thập dữ liệu
Có hai cách chính để hệ thống giám sát lấy dữ liệu:
| Đặc điểm | Pull Model (Kéo) | Push Model (Đẩy) |
|---|---|---|
| Cơ chế | Server giám sát chủ động kết nối tới các máy trạm để lấy dữ liệu. | Các máy trạm tự động gửi dữ liệu về Server giám sát. |
| Ưu điểm | Dễ kiểm soát lưu lượng, biết ngay nếu máy trạm chết (vì không kéo được). | Phù hợp với hệ thống linh hoạt, máy trạm nằm sau tường lửa (Firewall). |
| Công cụ tiêu biểu | Prometheus | Graphite, InfluxDB |
4. Đặc điểm về khả năng trực quan hóa (Visualization)
Dữ liệu thô rất khó đọc, vì vậy hệ thống giám sát cần các bảng điều khiển (Dashboards) trực quan:
- Real-time: Cập nhật số liệu theo thời gian thực (độ trễ thấp).
- Biểu đồ hóa: Sử dụng biểu đồ đường (Line chart), biểu đồ cột hoặc bản đồ nhiệt (Heatmap) để nhận diện xu hướng (Trend analysis).
- Công cụ phổ biến: Grafana là tiêu chuẩn vàng để kết nối và hiển thị dữ liệu từ nhiều nguồn khác nhau.
5. Giám sát chủ động (Proactive) vs Thụ động (Reactive)
- Thụ động: Chỉ báo động khi sự cố đã xảy ra (ví dụ: Web sập).
- Chủ động: Sử dụng AI/Machine Learning để phát hiện các bất thường (Anomaly Detection). Ví dụ: Hệ thống nhận thấy lượng truy cập tăng đột biến một cách bất thường so với cùng giờ ngày hôm qua và cảnh báo về một cuộc tấn công DDoS tiềm tàng.
Một bộ công cụ (Stack) phổ biến hiện nay:
T.I.G Stack: Telegraf (Thu thập) – InfluxDB (Lưu trữ) – Grafana (Hiển thị).
Prometheus + Grafana: Combo phổ biến nhất cho các hệ thống chạy Docker/Kubernetes.