我需要管理並最佳化 Amazon CloudWatch 自訂指標,以控制非預期的成本並改善監控效率。
簡短說明
CloudWatch 會對自訂指標收費,包含來自 CloudWatch 代理程式或 Container Insights 的指標。有關定價結構的相關資訊,請參閱 Amazon CloudWatch 定價。
注意: AWS 命名空間下 AWS 服務的基本監控指標不會額外收費。不過,如果您為 Amazon Elastic Compute Cloud (Amazon EC2) 等服務啟用詳細監控,則會產生額外成本。
解決方法
若要最佳化 CloudWatch 自訂指標,您必須先識別這些指標的來源。
識別自訂指標的來源
若要識別自訂指標的來源,請完成以下步驟:
- 前往 AWS Cost Explorer
- 在 Report Parameters (報告參數) 窗格中,請選取 **Group by (分組依據)。**對於 Dimension (維度),請選取 API operation (API 操作)。
- 在 Filters (篩選條件) 下,於 Service (服務),選取 CloudWatch。在 Usage type (使用類型),請選取 CW:MetricMonitorUsage (Metrics) (CW:MetricMonitorUsage (指標))。
API 操作會顯示以下自訂指標的來源:
- MetricStorage: 從您的應用程式推送的自訂指標。
- MetricStorage:AWS/{Service}: 為特定 AWS 服務啟用的詳細監控。
- MetricStorage:AWS/Logs-EMF: 來自 Container Insights 的日誌內嵌指標。
- MetricStorage:AWS/CloudWatchLogs: CloudWatch Logs 指標篩選條件。
如何最佳化自訂指標使用量
檢閱並減少 Container Insights 指標:
如果您使用 Container Insights,這些指標可能會對成本造成顯著影響。請聯絡您的 Amazon Elastic Container Service (Amazon ECS) 或 Amazon Elastic Kubernetes Service (Amazon EKS) 團隊,以檢閱並可能減少使用的指標。
最佳化自訂應用程式指標:
- 在本機批次處理多個資料點,並以較低頻率傳送彙總統計資料。
- 使用 Amazon CloudWatch Embedded Metric Format (EMF) 在單一請求中批次處理多個指標。CloudWatch EMF 比個別的 PutMetricData 呼叫更具成本效益。
- 實作自訂指標篩選,只傳送必要的指標,並設定適當的取樣率。
檢閱 AWS 服務的詳細監控:
最佳化 CloudWatch 代理程式組態:
- 調整收集間隔。
- 使用選擇性指標收集。
- 設定適當的彙總間隔。
批次處理 API 請求:
- 當您使用 PutMetricDataCommand 時,將多個指標批次合併為單一呼叫,以降低 API 請求成本。
最佳化指標擷取:
- 檢閱並最佳化 GetMetricData API 的使用方式。
- 考慮快取經常存取的指標資料。
- 在可行情況下降低指標擷取的頻率。
成本管理的最佳實務
定期稽核您的指標使用量:
- 檢閱並移除不必要的指標。
- 視需要調整取樣率與彙總間隔。
使用適當的指標解析度:
- 對於大多數使用案例而言,標準解析度 (60 秒間隔) 已足夠,且比高解析度更具成本效益。
使用 CloudWatch Logs 進行具成本效益的記錄:
- 使用 CloudWatch Logs 指標篩選條件,從日誌資料產生指標。在某些情況下,這比自訂指標更具成本效益。
監控 CloudWatch 成本:
- 設定 Cost Explorer 以追蹤您的 CloudWatch 支出模式。
- 建立預算警示,在 CloudWatch 成本出現非預期增加時通知您。
考慮使用 AWS Cost Categories:
- 依不同專案、團隊或環境組織 CloudWatch 成本,以利成本分攤與管理。
相關資訊
Amazon CloudWatch 定價
Amazon CloudWatch 中的指標
分析、最佳化與降低 CloudWatch 成本
在日誌中內嵌指標
使用 CloudWatch 代理程式收集指標、日誌與追蹤資料