Рассчитать среднее использование ЦП для плана обслуживания приложения - PullRequest
0 голосов
/ 03 апреля 2020

Как я могу получить среднее использование ЦП и памяти для плана обслуживания приложения в Azure, используя командлет powershell get-azmetri c в течение одного месяца. Я попробовал это, взяв гранулярность за 01: 00: 00: 00 ie за один день и вычислив среднее значение всех значений за один день, но когда я сопоставляю с порталом, это не соответствует моему выводу.

1 Ответ

1 голос
/ 07 апреля 2020

Согласно моему тесту, метрики в основном правильные, есть некоторые отклонения из-за пользовательского интерфейса на портале.

, когда я сопоставляю с порталом, это не соответствует моему выводу

Если они далеко друг от друга, вы должны убедиться, что вы выбрали опцию UTC/GMT на портале (по умолчанию - Local), поскольку TimeStamp в выходных данных Get-AzMetric равно UTC время (параметры StartTime и EndTime оба local время).

enter image description here


Этапы проверки:

1. На портале мы легко можем найти TimeGrain метри c, равный 06:00:00, поэтому я также использую его в команде powershell.

enter image description here

enter image description here

$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

enter image description here

Затем на портале используйте инструмент dev, чтобы поймать запрос метри c, отметьте его в JSON validator , он будет выглядеть так:

enter image description here

Сравните значения вывода 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...