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

ntjbwcob  于 2022-12-30  发布在  Shell
关注(0)|答案(4)|浏览(127)

我已经创建了一个警报规则并将其与虚拟机关联。现在尝试通过Powershell获取警报规则,但获取的是null。此代码有什么问题?
获取AzAlertRule-资源组名称'pacbldnew'
see the alert rulepowershell code returning null

cyej8jka

cyej8jka1#

这只是一个警告。命令应该可以工作,请确保警报规则存在。

更新1

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

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

更新2

如果您想获得详细信息,请尝试下面的脚本。

$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
}

kiayqfof

kiayqfof2#

Joy是正确的,因为您看到的只是一个警告,所以cmdlet仍然应该执行。然而,这可能会发生,因为Powershell对更新的指标警报的支持仍在工作中,如官方文档中所提到的。
此外,如果有帮助,您还可以使用Azure CLI列出较新的指标警报,因为它现在支持提取属于Microsoft. Insights/metricAlerts资源类型的查询的详细结果。
例如:

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

结果将类似于以下内容:

您还可以从Az CLI提供的许多output formats(json、jsonc、yaml、table、tsv)中进行选择。
希望这有帮助!

jljoyd4f

jljoyd4f3#

转到Azure-主页安全中心和设置,然后筛选并提取所有规则

fxnxkyjh

fxnxkyjh4#

这个查询对我很有效:

Get-AzResource -ResourceType "microsoft.insights/scheduledqueryrules" -ResourceGroupName "Alert-RG"

相关问题