AWS Powershell-EBS读取IOPS的Get-CWMetricStatistics

时间:2019-04-09 04:09:56

标签: amazon-web-services powershell aws-powershell

使用此代码获取EBS卷的IOP统计信息时遇到一些问题:

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

前2行显示命名空间/指标名称正确。其余部分应显示,AWS / EC2名称空间中的第一个查询获取数据,而AWS / EBS名称空间中的第二个查询未获取数据。

最终目的是添加-dimension标记并获取特定卷的所有读/写iops。这就是为什么AWS / EC2名称空间不起作用的原因,因为我需要指定卷ID而不是实例ID。

有什么想法为什么我在后一个查询中不选择任何数据点?

1 个答案:

答案 0 :(得分:0)

证明EBS统计信息需要一个需要指定的Vol ID,尽管它没有被调用或出现类似的错误。

我排除了尺寸以尽可能宽地覆盖网/在进行故障排除时恢复了基本知识。将其重新添加即可解决问题:

即。可行

$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