RobustX / Chương trình học / Vị trí công việc / DevOps Engineer / Giám Sát Hệ Thống Và Quan Sát Hạ tầng

Giám sát Hệ thống và Quan sát Hạ tầng (Monitoring & Observability)

Khi hệ thống phát triển và vận hành thực tế, việc giám sát (monitoring)quan sát sâu (observability) trở thành yếu tố bắt buộc để đảm bảo tính sẵn sàng, hiệu suất và khả năng phản ứng nhanh với lỗi. Khóa học này giúp học viên làm chủ các công cụ phổ biến như Prometheus, Grafana, ELK, Loki, đồng thời hiểu rõ các chỉ số hệ thống, log tập trung, tracing và xây dựng alert phù hợp với yêu cầu vận hành.

Thời lượng: 15h

Bạn đạt được gì sau khi hoàn thành khóa học

Đối tượng tham gia

Yêu cầu tiên quyết

  • Đã học Docker, CI/CD, có kiến thức hệ điều hành & mạng 
  • Biết YAML, file cấu hình cơ bản 
  • Biết thao tác Linux, port, process, systemd

Nội dung khóa học

1. Tổng quan về Monitoring & Observability
  • Khác biệt giữa: Monitoring, Logging, Tracing 
  • 3 trụ cột của Observability: 
    • Metrics (số liệu: CPU, memory, request) 
    • Logs (nhật ký: lỗi, hoạt động, audit) 
    • Traces (vết truy cập, call chain giữa service) 
  • Mô hình RED, USE, SRE monitoring golden signals 
  • Push vs Pull model, Agent vs Exporter vs Sidecar 
2. Thu thập và phân tích Metrics với Prometheus
  • Kiến trúc Prometheus: scrape → store → alert → UI 
  • Cài đặt Prometheus từ binary/Docker 
  • Node Exporter: 
    • Thu thập metrics Linux 
    • Cấu hình port, label 
  • PromQL cơ bản: 
    • rate(), sum(), avg(), count(), topk(), increase() 
  • Cấu hình scrape job, target discovery, relabel 
  • Retention, TSDB, remote write (giới thiệu)
3. Quan sát hệ thống với Grafana
  • Kết nối Prometheus datasource 
  • Tạo dashboard: 
    • System: CPU, RAM, disk, load, network 
    • App: request count, error rate 
    • Container: số lượng container, trạng thái, port 
  • Tạo alert rule: threshold + notification channel (Slack, Telegram, Email) 
  • Alert grouping, silence alert, delay alert, throttle
4. Log tập trung với ELK / Loki / Fluentbit
  • ELK Stack: 
    • Log shipper: Filebeat, Fluentbit 
    • Elasticsearch: index, mapping, search DSL 
    • Kibana: dashboard, filter, timezone 
  • Loki + Promtail: 
    • Lightweight log aggregation 
    • Label log theo service, instance, container 
    • Truy vấn với LogQL 
  • Quản lý dung lượng log, rotation, parsing log JSON
5. Quan sát Container, Docker và Application
  • Cài cAdvisor + Docker metrics 
  • Monitor container resource: CPU/RAM per container 
  • Exporter trong app: 
    • Python Flask/Node.js metrics endpoint 
    • Instrument bằng Prometheus client lib 
  • Logging Docker: 
    • Docker log driver 
    • Fluentbit → Loki/ELK pipeline 
  • Healthcheck container + auto restart
6. Alerting nâng cao và quản lý sự cố
  • Alertmanager: 
    • Grouping, Inhibition, Routing 
    • Tạo rule file alerts.yml 
  • Quản lý sự cố: 
    • Incident severity, escalation 
    • Dashboard lỗi, trace chain 
    • Runbook, checklists 
  • Xây dựng bản tin cảnh báo hiệu quả
7. Tracing và Distributed Observability
  • Tracing là gì? So sánh với log/metric 
  • Kiến trúc OpenTelemetry 
  • Jaeger: Cài đặt, collect trace từ microservice 
  • Thực hành trace call từ A → B → DB 
  • Liên hệ thực tế: tracing trong cloud, Istio, envoy
8. Tích hợp CI/CD và triển khai Observability chuẩn
  • Monitor Jenkins Runner 
  • Kết hợp Prometheus exporter với CI pipeline 
  • Tự động deploy node_exporter, promtail bằng Ansible 
  • Template hóa dashboard (JSON, YAML) 
  • Clean code: git version config Prometheus, Loki, Grafana 
  • Bonus: 
    • Dashboard team-specific 
    • Tích hợp LDAP/SSO cho Grafana 
    • Quản lý quyền theo team
9. Bài thực hành tổng hợp

Dự án: Quan sát hệ thống 3 lớp ứng dụng nội bộ

Mô hình hệ thống:

  • Load Balancer (nginx) 
  • Web App (Flask hoặc Node.js) 
  • DB (PostgreSQL hoặc MySQL) 
  • Tất cả chạy container hoặc VM 

Học viên thực hiện:

  1. Cài đặt full stack: 
    • Prometheus + Alertmanager 
    • Grafana (dashboard các tầng) 
    • Loki hoặc ELK để thu log toàn hệ thống 
  2. Viết dashboard: 
    • Resource monitoring (tất cả server/container) 
    • App monitoring (HTTP status, error, latency) 
  3. Tạo alert rule: 
    • Cảnh báo Slack nếu lỗi 500 tăng quá 10 lần/phút 
    • Cảnh báo Email nếu host offline, disk > 90% 
  4. Bonus: 
    • Jaeger trace call từ API → DB 
    • Ansible deploy tự động toàn bộ hệ thống monitor

Bài viết liên quan