我想使用Azure CLI监视预订中的所有虚拟机的指标。根据Microsoft的“ az监控指标警报”文档,为特定资源ID创建的每个警报,例如:
az monitor metrics alert create -n alert1 -g {ResourceGroup} --scopes {VirtualMachineID} --condition "avg Percentage CPU > 90" --description "High CPU"
我是否可以创建警报以监视所有VM的CPU高容量(而不是创建与特定VM关联的许多警报)? 此外,如何将电子邮件配置为警报措施?
谢谢。
答案 0 :(得分:1)
从语法上看,如果仅将逗号分隔的资源ID列表传递给--scope
参数,就应该能够为多个资源创建度量标准警报。但这似乎没有按预期工作。
作为替代方案,您可以配置ARM模板以创建Azure Monitor Metrics警报,该警报可以定位/监视一个或多个资源组或订阅中的多个资源。
您可以参考this文档,了解如何为监视多个资源的度量标准警报构建ARM模板。
在此模板中,您需要提供操作组的操作组ID,以指定警报触发时要采取的操作。要获取操作组ID,请使用Set-AzActionGroup
创建一个操作组,您可以在-Receiver
参数中指定要接收电子邮件的操作。
配置完模板和模板参数JSON文件后,可以使用以下Az CLI cmdlet块将其部署到Azure中:
Connect-AzAccount
Select-AzSubscription -SubscriptionName <yourSubscriptionName>
New-AzResourceGroupDeployment -Name myDeployment -ResourceGroupName <ResourceGroupWhereRuleShouldbeSaved> -TemplateFile template.json -TemplateParameterFile templateparams.parameters.json
希望这会有所帮助!