Powershell命令获取Azure监视器警报规则不起作用

时间:2019-04-12 06:52:26

标签: azure azure-application-insights monitor

我已创建警报规则并将其与VM关联。现在尝试通过Powershell获取警报规则,但获取空值。此代码有什么问题?

Get-AzAlertRule -ResourceGroupName'pacbldnew'

see the alert rule powershell code returning null

2 个答案:

答案 0 :(得分:0)

那只是一个警告。该命令应该起作用,并确保警报规则已存在。

enter image description here

更新1

尝试下面的命令以获取所需的内容。

enter image description here

Get-AzResource -ResourceGroupName joywebapp -ResourceType microsoft.insights/metricAlerts 

enter image description here

Update2

如果要获取详细信息,请尝试以下脚本。

$names = (Get-AzResource -ResourceGroupName joywebapp -ResourceType microsoft.insights/metricAlerts).Name
foreach($name in $names){
    Get-AzResource -ResourceGroupName joywebapp -Name $name -ResourceType microsoft.insights/metricAlerts | ConvertTo-Json
}

enter image description here

答案 1 :(得分:0)

Joy正确,因为您看到的只是警告,所以cmdlet仍应执行。但是,这可能会发生,因为Powershell对更新的指标警报的支持仍在起作用,如官方docs所述。

此外,如果有帮助,您可以使用Azure CLI来list newer Metric Alerts,因为它现在支持获取属于 Microsoft.Insights / metricAlerts 资源的查询的详细结果。类型。

例如:

az monitor metrics alert list -g <Resource group name> --output yaml

结果看起来像这样:

Az CLI get Metric Alert

您还可以从Az CLI中选择许多output formats(json,jsonc,yaml,表,tsv)。

希望这会有所帮助!