通过PowerShell或Azure Cli获取Azure虚拟机概述/监控数据

当我们login到Azure门户并查看任何资源(如VM)时,我们将在每个资源的“概述”部分中看到一些监控数据,向我们展示30天的图表。 (CPU平均数,networkinginput/输出等)

我的要求是不要通过门户或cli对天青资源进行任何更改。 但我宁愿寻找一个powershell / azure cli命令,将所有这些数据从天青到我的本地机器进行一些分析。

我正在寻找VM,Web应用程序和Azure SQL。

谢谢

您是对的,我们可以使用CLI 2.0来获取度量数据:

az monitor metrics list --resource /subscriptions/xxxxxxx/resourceGroups/xxxxx/providers/Micros‌​oft.Compute/virtualM‌​achines/xxxx --metric-names "Percentage CPU" --time-grain "PT1M" >> PercentageCpuData.txt 

我们也可以使用Azure PowerShell命令Get-AzureRmMetricDefinition来获取指标。

以下是Azure VM的指标:

 PS D:\testdata> (Get-AzureRmMetricDefinition -ResourceId $id).name Value LocalizedValue ----- -------------- Percentage CPU Percentage CPU Network In Network In Network Out Network Out Disk Read Bytes Disk Read Bytes Disk Write Bytes Disk Write Bytes Disk Read Operations/Sec Disk Read Operations/Sec Disk Write Operations/Sec Disk Write Operations/Sec CPU Credits Remaining CPU Credits Remaining CPU Credits Consumed CPU Credits Consumed 

然后我们可以使用这个值来获得其他指标:

 Get-AzureRmMetric -ResourceId $id -TimeGrain 00:01:00 -DetailedOutput -MetricNames "Network in" 

这里有一个关于你的类似案例 ,请参考。

顺便说一下,关于Azure主机指标和访客指标的差异,请参阅此链接 。