AWS Powershell - Get-CWMetricStatistics для EBS Читать IOPS - PullRequest
0 голосов
/ 09 апреля 2019

У меня возникли проблемы с получением статистики IOP для томов EBS с использованием этого кода:

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

В верхних двух строках указано, что имена пространств имен / метрик верны.Остальное должно показать, что первый запрос в пространстве имен AWS / EC2 получает данные, а второй запрос в пространстве имен AWS / EBS - нет.

Конечная цель - добавить тег -dimension и захватить все прочитанные/ написать iops для определенного объема.Вот почему пространство имен AWS / EC2 не работает, так как мне нужно указать идентификатор тома, а не идентификатор экземпляра.

Есть идеи, почему я не собираю точки данных в последнем запросе?

1 Ответ

0 голосов
/ 09 апреля 2019

Оказывается, что для статистики EBS требуется идентификатор Vol, который должен быть указан, хотя это не вызывается или ошибки как таковые.

Я сократил размер, чтобы привести к ширине сетинасколько это возможно / вернуться к основам при поиске неисправностей.Добавление этого обратно в исправленную проблему:

т.е.это работает

$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
...