【发布时间】:2017-09-15 14:08:33
【问题描述】:
我正在尝试使用 Get-AzureRmMetric 返回一些与我的资源之一相关的指标。
为此,我使用以下代码,但 cmdlet 未输出任何指标。
$resourceId = "/subscriptions/$subscriptionId/resourceGroups/$resourceGroup/providers/$resourceType/$resourceName"
Get-AzureRmMetric -ResourceId $resourceId -StartTime (get-date).AddHours(-2) -EndTime (get-date).AddHours(-1) -TimeGrain "01:00:00"
我已经更改了用于构造$resourceId 的每个变量,并且正如预期的那样Get-AzureRmMetric 会引发错误。这表明我正在将有效的资源 ID 传递给 cmdlet。
此外,我还捕获了Get-AzureRmMetric 的结果并检查了它的count 属性,即0。对我来说,似乎我正在为 cmdlet 提供所需的一切,但它并没有像 docs 中描述的那样工作。
我可以做些什么来获得我需要的指标?
完整代码
try
{
$credtials = Get-AzureCredtials -AppId $AppId -AppSecretKey $AppSecretKey
Login-AzureRmAccount -ServicePrincipal -Credential $credtials -TenantId $tenantId -SubscriptionId $subscriptionId
$resource = Get-AzureRmResource -ResourceName $resourceName -ResourceGroupName $resourceGroup -ResourceType $resourceType
$resourceId = $resource.ResourceId
Get-AzureRmMetric -ResourceId $resourceId -TimeGrain '01:00:00' -StartTime (get-date).AddHours(-2) -EndTime (get-date).AddHours(-1) -MetricNames 'INTERR'
}
catch
{
Write-Host "[ERROR] $($_.Exception.Message)" -ForegroundColor Red
exit 1
}
更新
截至今天,我在使用 Get-AzureRmMetric 时看到一条关于弃用的消息。
警告:API 弃用:旧版指标 API 的使用将在下一版本中停止使用。这意味着此 cmdlet 的调用和输出发生了变化。
这正是我在 PowerShell 中看到的。
【问题讨论】:
-
不确定您使用的是哪个指标,但我必须使用 set-rmcontext 确保我在正确的子中,然后我在资源 id 之后使用了以下内容:-TimeGrain (new-timespan -Minutes 1 ) -MetricNames 'CpuPercentage
标签: powershell azure metrics