忍者ブログ

khcantellmenhgloisaorong

Bài 8: Hạ Tầng Giám Sát Full-Observability (Prometheus, Grafana, Loki & OpenTelemetry) Trong TT789

Lời Mở Đầu

Sau khi hoàn thiện chiến lược Disaster Recovery và Chaos Engineering (Bài 6 & Bài 7), Bài 8 khép lại tập trung vào khả năng quan sát hệ thống (Full-Observability).

Ở quy mô hàng triệu kết nối đồng thời và hàng chục ngàn tt789.id giao dịch/giây, hệ thống không thể hoạt động như một "hộp đen". TT789 triển khai hạ tầng giám sát tập trung dựa trên 3 trụ cột Observability: Metrics (Prometheus), Logs (Grafana Loki) và Traces (OpenTelemetry + Jaeger), giúp kỹ sư phát hiện sự cố trước khi người dùng kịp nhận biết.

Phần 1: Kiến Trúc Hạ Tầng Monitoring & Telemetry Pipeline

Toàn bộ chỉ số, log và trace từ Microservices, Database, Edge Gateway được thu thập không đồng bộ (Asynchronous) để đảm bảo không ảnh hưởng đến latency của ứng dụng.

┌─────────────────────────────────────────────────────────────────────────────┐
│ APPLICATIONS & INFRASTRUCTURE (EKS Pods, CockroachDB, Envoy Gateway)       │
└──────────────┬──────────────────────┬──────────────────────┬────────────────┘
               │ (Metrics Scrape)     │ (Log Streams)        │ (OTLP Traces)
               ▼                      ▼                      ▼
┌──────────────────────────┐ ┌──────────────────┐ ┌──────────────────────────┐
│ PROMETHEUS CLUSTER       │ │ VECTOR / PROMTAIL│ │ OPENTELEMETRY COLLECTOR  │
│ • TSDB Storage           │ │ • Log Scraping   │ │ • Trace Sampling (10%)   │
│ • Alertmanager Engine    │ │ • Parsing & Mask │ │ • Context Propagation    │
└──────────────┬───────────┘ └────────┬─────────┘ └───────────┬──────────────┘
               │                      │                      │
               └───────────────────┐  │  ┌───────────────────┘
                                   ▼  ▼  ▼
┌─────────────────────────────────────────────────────────────────────────────┐
│ GRAFANA ENTERPRISE DASHBOARD & ALERTING                                     │
│ • Centralized Querying (PromQL, LogQL, TraceQL)                             │
│ • PagerDuty & Telegram Bot Alert Integration                                │
└─────────────────────────────────────────────────────────────────────────────┘

Các Kỹ Thuật Quan Sát Nổi Bật Trong TT789:

  • OpenTelemetry Distributed Tracing: Mỗi giao dịch (như nạp tiền hay đặt cược) được gắn một TraceID duy nhất ngay từ Edge Gateway. TraceID này được truyền qua tất cả các gRPC call, Kafka Message và Database Query, giúp dựng lại toàn bộ cây thời gian thực thi (Flamegraph).

  • Quản Lý Log Quy Mô Lớn Với Grafana Loki: Thay vì Index toàn bộ nội dung log (gây tốn dung lượng như Elasticsearch), Loki chỉ Index các nhãn (Labels) metadata của Pod/Service. Log được nén và lưu dạng Object Storage (S3), giúp giảm $80\%$ chi phí lưu trữ.

  • Alerting Theo Ngưỡng SRE (SLO/SLI Alerts): Cảnh báo không phát ra dựa trên các sự cố tạm thời mà dựa trên tốc độ tiêu tốn "Error Budget" (Burn Rate). Nếu tỷ lệ lỗi làm nguy cơ vi phạm cam kết $99.99\%$ Uptime trong tháng, hệ thống tự động báo động qua PagerDuty cho đội ngũ On-call.

Phần 2: Bảng So Sánh Các Trụ Cột Observability Trong TT789

Trụ Cột (Pillar) Công Cụ Sử Dụng Mục Đích Chính Tần Suất / Thu Thập
Metrics Prometheus + VictoriaMetrics Đo đạc tài nguyên (CPU, RAM, QPS, Latency $p95/p99$) Scrape định kỳ mỗi $5\text{ giây}$
Logs Grafana Loki + Vector Ghi nhận sự kiện chi tiết, Stack Trace lỗi, Audit Log Real-time Streaming
Traces OpenTelemetry + Jaeger Truy vết độ trễ chi tiết qua từng Microservice Adaptive Sampling ($10\%$ traffic)
Profiling Pyroscope (Continuous Profiling) Phân tích dòng code tiêu tốn CPU/Memory trong Golang Thu thập liên tục tại Runtime

Phần 3: Quy Trình Phát Hiện & Xử Lý Sự Cố Tự Động (Incident Response)

1.Phát Hiện Cảnh Báo Bất Thường:Thời gian phát hiện < 2 giây.
PR

コメント

プロフィール

HN:
No Name Ninja
性別:
非公開

カテゴリー

P R