我想使用 Amazon CloudWatch 指標計算 Amazon Elastic Block Store (Amazon EBS) 磁碟區的平均輸送量和 IOPS 平均數量。
簡短描述
若要計算磁碟區的平均輸送量和 IOPS 數量,請使用 Amazon CloudWatch 指標和指標數學。若要監控 Amazon EBS 磁碟區中的資料,請建立 CloudWatch 警示來監控這些 EBS 磁碟區。
或者,您可以使用 AWSSupport-CalculateEBSPerformanceMetrics 自動化文件。自動化使用可用的 CloudWatch 指標來計算和顯示數個項目。此輸出包括 EBS 磁碟區的彙總輸送量、IOPS 數目,以及 IO 大小。您可以針對單獨 EBS 磁碟區或連接至執行個體的所有 EBS 磁碟區執行這些任務。
解決方法
手動計算輸送量
-
開啟 CloudWatch console (CloudWatch 主控台)。
-
在 Metrics (指標) 下,選擇 All metrics (所有指標)。
-
選擇 EBS namespace (EBS 命名空間),然後選擇 Per-Volume Metrics (每個磁碟區指標)。
-
選取與 Amazon EBS 磁碟區對應的指標:
若要計算平均 IOPS,請選取 VolumeReadOps、VolumeWriteOps 和 VolumeIdleTime。
若要計算平均輸送量,請選取 VolumeReadBytes、VolumeWriteBytes 和 VolumeIdleTime。
-
選擇 Graphed metrics (圖表化指標) 索引標籤。
-
對於 Statistic (統計資料),選擇 Sum (總和)。
-
對於 Period (期間),選擇您要檢視的時段期間。
-
請記下每個圖表化指標前面的指標 ID,例如 m1、m2、m3 等等。
-
對於 Add math (新增數學),選擇 Start with empty expression (以空白運算式開始),然後輸入下列運算式以計算預期平均值。
計算平均 IOPS (以每秒運算次數為單位):
**注意:**在下列運算式中,m1 為 VolumeReadOps,而 m2 為 VolumeWriteOps。
(m1+m2)/(PERIOD(m1))
當磁碟區作用中時,計算實際平均輸送量 (以每秒位元組為單位):
**注意:**在下列運算式中,m1 為 VolumeReadBytes,m2 為 VolumeWriteBytes,而 m3 為 VolumeIdleTime。
(m1+m2)/(PERIOD(m1)−m3)
計算平均輸送量 (以每秒位元組為單位):
**注意:**在下列運算式中,m1 為 VolumeReadBytes,而 m2 為 VolumeWriteBytes。
(m1+m2)/(PERIOD(m1))
**注意:**因微型爆量,輸送量平均值和 IOPS 可能與實際平均值不同。輸送量和 IOPS 以每秒為單位測量。CloudWatch 不會以每秒的間隔彙總 Amazon EBS 磁碟區指標。如需詳細資訊,請參閱如何識別我的 Amazon EBS 磁碟區是否會發生微型爆量,然後防止這種情況發生?
使用自動化來計算輸送量
先決條件:
- 複製您要分析之資源的磁碟區 ID 或執行個體 ID。您需要資源 ID 才能執行自動化文件。
- (選用) 為自動化建立和指定 AWS Identity and Access Management (IAM) 角色。如果您未選擇角色,則 AWS Systems Manager Automation 會使用執行文件的使用者權限。如需詳細資訊,請參閱使用主控台建立自動化的服務角色。
系統管理員主控台
若要從系統管理員主控台執行 AWSSupport-CalculateEBSPerformanceMetrics 自動化,請完成下列步驟:
- 在 Systems Manager (系統管理員主控台) 中開啟文件。請務必在資源所在的區域中開啟文件。
- 在執行自動化文件區段中,選擇簡單執行。
- 在 Input parameters (輸入參數) 區段中,輸入下列參數:
ResourceId - 輸入您要分析的 EBS 磁碟區或 EC2 執行個體的 ID
StartTime - 輸入格式為 yyyy-mm-ddThh:mm:ss 的時間和 UTC 時區。例如,2021-06-09T13:30:10
EndTIme - 輸入格式為 yyyy-mm-ddThh:mm:ss 的時間和 UTC 時區。例如,2021-06-16T13:30:10
AutomationAssumeRole - 選擇此執行的 IAM 角色。此步驟為選用項目。
- 選擇 Execute (執行)。
最終輸出是指向儀表板的網址。若要查看網址,請展開 Outputs (輸出) 欄位。使用儀表板來檢視分析的指標及其限制。
**注意:**若要刪除儀表板,您需要 cloudwatch:DeleteDashboards IAM 權限。
AWS Command Line Interface (AWS CLI)
**注意:**如果您在執行 AWS CLI 命令時收到錯誤,請參閱對 AWS CLI 錯誤進行疑難排解。此外,請確定您使用的是最新的 AWS CLI 版本。
若要從 AWS CLI 執行自動化,請使用下列命令。將以下值取代為如下所示:
- 將 ResourceId 值取代為您要分析的資源 ID。
- 將 StartTime 值取代為開始時間,以便在 CloudWatch 中檢視資料 (格式為 yyyy-mm-ddThh:mm:ss 和 UTC 時區)。
- 將 EndTIme 值取代為結束時間,以便在 CloudWatch 中檢視資料 (格式為 yyyy-mm-ddThh:mm:ss 和 UTC 時區)。
- 將 AutomationAssumeRole 值取代為此執行的 IAM 角色。此步驟為選用項目。另請注意,此範例未指定此值。
- 將區域 us-east-1 取代為您資源的區域。
aws ssm start-automation-execution --document-name "AWSSupport-CalculateEBSPerformanceMetrics" --document-version "\\$DEFAULT" --parameters '{"ResourceId":\["i-example12345"\], "StartTime":\["2021-06-09T13:30:10"\], "EndTime":\["2021-06-16T13:30:10"\], "Period":\["60"\], "AutomationAssumeRole":\[""\]}' --region us-east-1
相關資訊
適用於 Amazon EBS 的 Amazon CloudWatch 指標