Vì sao Monitoring quan trọng
Một hệ thống vận hành không có monitoring giống như lái xe ban đêm không có đèn pha. Bạn chỉ biết có vấn đề khi đã va chạm.
Kiến trúc tổng quan
[Application] → [Prometheus Exporter] → [Prometheus] → [Grafana]
↓
[Alertmanager] → [Slack/PagerDuty]
Cài đặt Prometheus với Docker Compose
services:
prometheus:
image: prom/prometheus:latest
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml
ports:
- "9090:9090"
grafana:
image: grafana/grafana:latest
ports:
- "3000:3000"
PromQL hữu ích
# Request rate trong 5 phút qua
rate(http_requests_total[5m])
# 95th percentile latency
histogram_quantile(0.95, rate(http_request_duration_seconds_bucket[5m]))
# Error rate
sum(rate(http_requests_total{status=~"5.."}[5m])) / sum(rate(http_requests_total[5m]))
Kết luận
Hãy bắt đầu với 4 golden signals: Latency, Traffic, Errors, Saturation. Đây là nền tảng mọi hệ thống monitoring production cần có.