简体   繁体   中英

AWS Powershell - Get-CWMetricStatistics for EBS Read IOPS

I'm having some issues getting IOPs stats for EBS volumes, using this code:

Get-CWMetricList -Namespace AWS/EC2 |Select-Object * -Unique

Get-CWMetricList -Namespace AWS/EBS |Select-Object * -Unique

$StartDate = (Get-Date).AddDays(-3)
$EndDate = Get-Date
$ReadIOPS = Get-CWMetricStatistics -Namespace "AWS/EC2" -MetricName "DiskReadOps" -UtcStartTime $StartDate -UtcEndTime $EndDate -Period 300 -Statistics @("Average") 
$ReadIOPS.Datapoints.Count  
$ReadIOPS = Get-CWMetricStatistics  -Namespace "AWS/EBS" -MetricName "VolumeReadOps" -UTCStartTime $StartDate -UTCEndTime $EndDate -Period 300  -Statistics @("Average")
$ReadIOPS.Datapoints.Count

Top 2 lines show that the Namespace/Metrics Names are correct. Rest should show that the first query in the AWS/EC2 name space gets data, however the 2nd in the AWS/EBS namespace doesn't.

The ultimate goal is to add a -dimension tag and grab all read/write iops for a particular volumed. This is why the AWS/EC2 namespace doens't work as I need to specify a volume id and not an instance ID.

Any ideas why I'm not picking up any datapoints on the latter query?

Turns out that EBS stats require a Vol ID to be specified though this is not called out or errors as such.

I had stripped out the dimension to cast as wide a net as possible/back to basics when troubleshooting. Adding that back in fixed the issue:

ie. this works

$Volume = 'vol-blah'
$dimension1 = New-Object Amazon.CloudWatch.Model.Dimension
$dimension1.set_Name("VolumeId")
$dimension1.set_Value($Volume)
$ReadIOPS = Get-CWMetricStatistics -Namespace "AWS/EBS" -MetricName "VolumeReadOps" -UTCStartTime $StartDate -UTCEndTime $EndDate -Period 300  -Statistics @("Average") -Dimension $dimension1
$ReadIOPS.Datapoints.Count

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM