Chỉ số CloudWatch

Giám sát và Khắc phục sự cố trên AWS

John Q. Martin

Principal Consultant

Cấu trúc của một chỉ số CloudWatch

 

Sơ đồ một điểm dữ liệu CloudWatch thể hiện namespace, name, dimensions, timestamp và unit

Giám sát và Khắc phục sự cố trên AWS

Chỉ số chuẩn vs. tùy chỉnh

Chuẩn

  • Được AWS services tự động xuất bản
  • EC2: 5 phút miễn phí, 1 phút khi bật detailed monitoring
  • Ví dụ: EC2 CPUUtilization, RDS DatabaseConnections, Lambda Invocations

Tùy chỉnh

  • Đo mọi thứ: tải trang, đơn hàng, tỷ lệ cache hit
  • Toàn quyền với namespace, dimensions, unit, resolution
  • Mỗi tổ hợp namespace, name, dimension đều tính phí
Giám sát và Khắc phục sự cố trên AWS

Độ phân giải chỉ số

So sánh độ phân giải chỉ số CloudWatch từ 1 giây đến 5 phút

  • 1 phút cho production, 5 phút cho dev/test
  • 1 giây chỉ dùng khi thật sự cần
  • Chuẩn: tự động và miễn phí, nhưng có khoảng trống
  • Tùy chỉnh: toàn quyền điều khiển, tính phí theo chỉ số
Giám sát và Khắc phục sự cố trên AWS

Xuất bản chỉ số tùy chỉnh

Biểu tượng AWS CLI để xuất bản chỉ số

  • CLI dùng put-metric-data để thử nhanh

Biểu tượng xuất bản chỉ số tùy chỉnh bằng REST API

  • REST API qua HTTP POST để tích hợp trực tiếp

Biểu tượng Amazon SDK để xuất bản chỉ số

  • Amazon SDK

Biểu tượng CloudWatch Unified Agent

  • CloudWatch Unified Agent
Giám sát và Khắc phục sự cố trên AWS

Xuất bản bằng CLI

   


aws cloudwatch put-metric-data \
  --namespace "Pipeline/DeployDb" \
  --metric-name "stepDuration" \
  --dimensions Name=Pipeline,Value=ProdApp01 \
  --value 42 \
  --unit "Seconds"

 

Biểu tượng AWS CLI để xuất bản chỉ số

  • Gắn đo mọi thứ có thể gọi CLI
  • Tận dụng Dimensions
Giám sát và Khắc phục sự cố trên AWS

Xuất bản bằng SDK

  Mẫu mã C# dùng Amazon CloudWatch SDK để xuất bản chỉ số tùy chỉnh

 

Biểu tượng Amazon SDK để xuất bản chỉ số

  • SDK cho C#, Java, Go, Rust và hơn nữa
  • Xuất bản chỉ số từ mã ứng dụng
  • Dùng Dimensions để phân tách theo phần ứng dụng
Giám sát và Khắc phục sự cố trên AWS

Unified agent

Tệp cấu hình JSON cho CloudWatch Unified Agent định nghĩa chỉ số và chu kỳ thu thập

Biểu tượng CloudWatch Unified Agent

  • Thu thập chỉ số và log cấp hệ điều hành
  • Chạy trên EC2 hoặc containers
  • Cấu hình JSON xác định cần thu gì
  • Tinh chỉnh khoảng thu thập cho từng chỉ số
Giám sát và Khắc phục sự cố trên AWS

Embedded Metric Format (EMF)

{
  "_aws": {
    "CloudWatchMetrics": [{
      "Namespace": "MyApp",
      "Dimensions": [["functionName"]],
      "Metrics": [{"Name": "latency", "Unit": "Milliseconds"}]
    }]
  },
  "functionName": "checkout",
  "latency": 56
}

 

  • Ghi chỉ số dưới dạng JSON có cấu trúc trong log
  • CloudWatch tự động trích xuất chỉ số
  • Lý tưởng cho Lambda và containers, không cần gọi API thêm
  • Có cả chỉ số và log từ một lần ghi
Giám sát và Khắc phục sự cố trên AWS

Metric streams

 

  • Xuất dữ liệu liên tục ra các đích bên ngoài
  • S3 hoặc đối tác như New Relic, Datadog
  • Cho phép phân tích phong phú hơn so với chỉ CloudWatch
  • "Bảng điều khiển" hợp nhất cho hybrid cloud

Sơ đồ tổng quan về metric streams của CloudWatch xuất dữ liệu ra các đích bên ngoài

Giám sát và Khắc phục sự cố trên AWS

Streaming tới Amazon S3

Sơ đồ chỉ số được stream từ CloudWatch qua Kinesis Data Firehose vào một S3 bucket

Giám sát và Khắc phục sự cố trên AWS

Streaming tới giải pháp đối tác

Sơ đồ chỉ số được stream qua Kinesis Firehose tới endpoint của giải pháp đối tác với S3 dự phòng

Giám sát và Khắc phục sự cố trên AWS

Tóm tắt

Metrics và Custom Metrics

  • Đo các thuộc tính của workload
  • Custom metrics cho ứng dụng của bạn
  • Tận dụng Dimensions

 

Độ phân giải để phát hiện

  • Độ chi tiết rất quan trọng
  • Miễn phí vs. Trả phí
  • Phụ thuộc dịch vụ

Xuất bản Custom metrics

  • Gắn đo cho quy trình và ứng dụng
  • Dùng Dimensions để phân loại
  • SDK hoặc CLI qua API

 

Metric streams

  • S3 hoặc giải pháp đối tác
  • Phân tích tùy chỉnh
  • "Bảng điều khiển" hợp nhất
Giám sát và Khắc phục sự cố trên AWS

Cùng luyện tập nào!

Giám sát và Khắc phục sự cố trên AWS

Preparing Video For Download...