Powershell
通過 powershell 或 azure cli 獲取 Azure VM 概述/監控數據
當我們登錄到 azure 門戶並查看任何資源(如 VM)時,我們將在每個資源的概覽部分看到一些監控數據,這些數據顯示了 30 天的圖表。(CPU 平均值、網路輸入/輸出等)
我的要求是不要通過門戶或 cli 對 Azure 資源進行任何更改。但我寧願尋找一個 powershell / azure cli 命令,它將所有這些數據從 azure 拉到我的本地機器進行一些分析。
我正在尋找 VM、Web 應用程序和 Azure SQL 開始。
謝謝
沒錯,我們可以使用 CLI 2.0 來獲取指標數據:
az monitor metrics list --resource /subscriptions/xxxxxxx/resourceGroups/xxxxx/providers/Microsoft.Compute/virtualMachines/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 Host 指標和 Guest 指標的區別,請參考這個連結。