使用此代码获取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。
有什么想法为什么我在后一个查询中不选择任何数据点?
答案 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