Согласно моему тесту, метрики в основном правильные, есть некоторые отклонения из-за пользовательского интерфейса на портале.
, когда я сопоставляю с порталом, это не соответствует моему выводу
Если они далеко друг от друга, вы должны убедиться, что вы выбрали опцию UTC/GMT
на портале (по умолчанию - Local
), поскольку TimeStamp
в выходных данных Get-AzMetric
равно UTC
время (параметры StartTime
и EndTime
оба local
время).
Этапы проверки:
1. На портале мы легко можем найти TimeGrain
метри c, равный 06:00:00
, поэтому я также использую его в команде powershell.
$metric = Get-AzMetric -ResourceId "/subscriptions/xxxx/resourceGroups/xxxxx/providers/Microsoft.Web/serverFarms/joyplan" -MetricName "CpuPercentage" -AggregationType Average -TimeGrain 06:00:00 -StartTime 2020-03-07T04:00:00Z -EndTime 2020-04-07T04:00:00Z
$metric.Data
Затем на портале используйте инструмент dev, чтобы поймать запрос метри c, отметьте его в JSON validator , он будет выглядеть так:
Сравните значения вывода powershell a По запросу в портале мы обнаружим, что они одинаковы. Но вы должны note , StartTime
повлияет на начальное значение, значения в пользовательском интерфейсе отличаются от значений в API в фоновом режиме, поэтому я сравниваю выходную мощность powershell с запросом API портал, MemoryPercentage
это тот же лог c.
Итак, в заключение, вы можете использовать Get-AzMetric
, TimeGrain
и другие параметры в зависимости от ваших требований.
$metric = Get-AzMetric -ResourceId "/subscriptions/xxxx/resourceGroups/xxxxx/providers/Microsoft.Web/serverFarms/joyplan" -MetricName "CpuPercentage" -AggregationType Average -TimeGrain 01:00:00:00 -StartTime 2020-03-07T04:00:00Z -EndTime 2020-04-07T04:00:00Z
$metric.Data
$metric = Get-AzMetric -ResourceId "/subscriptions/xxxx/resourceGroups/xxxxx/providers/Microsoft.Web/serverFarms/joyplan" -MetricName "MemoryPercentage" -AggregationType Average -TimeGrain 01:00:00:00 -StartTime 2020-03-07T04:00:00Z -EndTime 2020-04-07T04:00:00Z
$metric.Data