# AWS - CloudWatch Metric Custom Metric/EMF/Cross Account Dashboard
# CloudWatch Custom Metric
CloudWatch 是 AWS 上的監控服務,預設上 CloudWatch 僅提供
- CPUUtilization
- NetworkIn / Out
- Latency(部分服務)
但你可能要監控
- 訂單數量
- 登入失敗次數
- Queue 堵塞量
- API 業務 KPI
→ 這些都要用 Custom Metric
# 傳送指標到 CloudWatch 方式
# AWS CLI
1 | aws cloudwatch put-metric-data \ |
# Application 用 AWS SDK
# 成本
- 前 10,000 個 Custom Metrics 每月免費
- 超過就開始計費
# EMF(Embedded Metric Format)
EMF = 把「Metric 直接寫進 Log」,CloudWatch 自動轉成 Metric
# EMF VS Custom Metric
| 項目 | Custom Metric | EMF |
|---|---|---|
| 傳送方式 | API / CLI | ✅ 寫 Log |
| 成本 | 會收 Metric 錢 | ✅ 只收 Log 錢 |
| 適合 | 系統監控 | ✅ 高頻業務指標 |
| Lambda 最常用 | ❌ | ✅ 超常用 |
# EMF Example
1 | { |
# 什麼時候要用 EMF
- 高頻率
- Lambda
- 不想為每個指標付 Metric 錢
- 想從 Log 自動產生監控圖表
關鍵字
- 高頻業務監控、省成本 -> EMF
- 指標由 Log 自動產生 -> EMF
# Cross Account CloudWatch Dashboard
Cross-Account Dashboard = 一個帳號看「多個 AWS 帳號」的 CloudWatch 指標
# 為什麼需要
企業常見架構
- Dev 帳號
- Prod 帳號
- Security 帳號
但高層要 一個畫面看全部系統健康度
→ 這時就要 Cross-Account Dashboard
# 如何實作
- 子帳號(Source Account)
- 建立 IAM Role
- 開放 cloudwatch:Read
- 主控帳號(Monitoring Account)
- Assume 子帳號 Role
- 建立 Dashboard
- 指標來源指定為「其他帳號」