如何使用Powershell cmdlet get-azmetric获得一个月的Azure应用服务计划的平均cpu和内存使用率。我已经尝试通过将粒度设为01:00:00:00(即一天)并计算一天的所有值的平均值来进行尝试,但是当我与Portal匹配时,它与我的输出不一致。
答案 0 :(得分:1)
根据我的测试,指标基本上是正确的,由于门户中的用户界面,存在一些偏差。
当我与Portal匹配时,它与我的输出不符
如果它们相距遥远,则应确保在门户中选择UTC/GMT
选项(默认值是Local
),因为{{ 1}}是TimeStamp
时间(参数Get-AzMetric
和UTC
都是StartTime
时间)。
验证步骤:
1。在门户中,我们很容易发现指标的EndTime
是local
,所以我在powershell命令中也使用了相同的>
TimeGrain
然后在门户中,使用开发工具捕获指标的请求,在JSON validater中对其进行检查,如下所示。
比较门户中powershell输出和请求的值,我们会发现它们是相同的。但是您应该注意,06:00:00
将影响起始值,UI中的值与背景中的API中的值不同,这就是为什么我将powershell输出与门户网站的API请求,$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
是相同的逻辑。
因此,总而言之,您可以根据需要使用StartTime
,MemoryPercentage
和其他参数。
Get-AzMetric