CloudWatch 指標

AWS 監控與疑難排解

John Q. Martin

Principal Consultant

CloudWatch 指標剖析

 

顯示命名空間、名稱、維度、時間戳與單位的 CloudWatch 指標資料點示意圖

AWS 監控與疑難排解

標準指標 vs. 自訂指標

標準

  • 由 AWS 服務自動發布
  • EC2:5 分鐘免費;詳盡監控為 1 分鐘
  • 例:EC2 CPUUtilization、RDS DatabaseConnections、Lambda Invocations

自訂

  • 可量測任意項目:頁面載入、訂單、快取命中率
  • 完整控制命名空間、維度、單位、解析度
  • 每個命名空間、名稱與維度組合皆需付費
AWS 監控與疑難排解

指標解析度

CloudWatch 指標解析度從 1 秒到 5 分鐘的比較

  • 正式環境用 1 分鐘;開發/測試用 5 分鐘
  • 1 秒僅在確有需要時使用
  • 標準:自動且免費,但有空檔
  • 自訂:完全控制,但按指標計費
AWS 監控與疑難排解

發布自訂指標

代表 AWS CLI 發布指標的圖示

  • 以 CLI 的 put-metric-data 快速測試

使用 REST API 發布自訂指標的圖示

  • 透過 REST API(HTTP POST)直接整合

代表用 Amazon SDK 發布指標的圖示

  • 使用 Amazon SDK

代表 CloudWatch Unified Agent 的圖示

  • CloudWatch Unified Agent
AWS 監控與疑難排解

用 CLI 發布

   


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

 

代表 AWS CLI 發布指標的圖示

  • 任何能呼叫 CLI 的都可入儀表
  • 善用維度
AWS 監控與疑難排解

用 SDK 發布

  使用 Amazon CloudWatch SDK 發布自訂指標的 C# 程式碼範例

 

代表用 Amazon SDK 發布指標的圖示

  • 提供 C#、Java、Go、Rust 等 SDK
  • 從應用程式碼發布指標
  • 用維度切分應用各部位的指標
AWS 監控與疑難排解

Unified Agent

CloudWatch Unified Agent 的 JSON 設定檔,定義指標與收集間隔

代表 CloudWatch Unified Agent 的圖示

  • 收集作業系統層級的指標與日誌
  • 於 EC2 執行個體或容器上執行
  • 以 JSON 設定要收集的項目
  • 逐指標調整收集間隔
AWS 監控與疑難排解

Embedded Metric Format(EMF)

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

 

  • 在日誌中以結構化 JSON 寫入指標
  • CloudWatch 會自動擷取指標
  • 適合 Lambda 與容器,無需額外 API 呼叫
  • 一次寫入同得指標與日誌
AWS 監控與疑難排解

指標串流(Metric Streams)

 

  • 持續匯出資料到外部目標
  • 匯出至 S3 或合作夥伴(如 New Relic、Datadog)
  • 提供比 CloudWatch 更豐富的分析
  • 混合雲單一視窗管理

CloudWatch 指標串流匯出到外部目標的總覽圖

AWS 監控與疑難排解

串流至 Amazon S3

指標從 CloudWatch 經 Kinesis Data Firehose 串流到 S3 儲存貯體的示意圖

AWS 監控與疑難排解

串流至合作夥伴方案

指標經 Kinesis Firehose 串流到合作夥伴解決方案端點,並備援至 S3 的示意圖

AWS 監控與疑難排解

重點整理

指標與自訂指標

  • 量測工作負載的屬性
  • 你的應用可用自訂指標
  • 善用維度

 

偵測所需解析度

  • 細緻度很重要
  • 免費 vs 付費
  • 視服務而定

發布自訂指標

  • 為程序與應用加上儀表
  • 以維度做分類
  • 透過 SDK 或 CLI(經由 API)

 

指標串流

  • S3 或合作夥伴方案
  • 自訂分析
  • 單一視窗管理
AWS 監控與疑難排解

一起來練習吧!

AWS 監控與疑難排解

Preparing Video For Download...