如何通过Powershell脚本更新智能检测设置警报

时间:2019-02-16 18:56:46

标签: azure powershell azure-application-insights

要使用Powershell cmdlet更新在Azure应用程序见解下提供的智能检测设置警报。

我想使用Powershell cmdlet更新在Azure应用程序见解下提供的智能检测设置警报,以下是我要完成的方案。

方案:我想更新“失败异常”警报并在其他电子邮件收件人下注册我的emailid,并希望禁用默认的邮件给订阅所有者配置。

使用powershell cmdlet是否可以完成上述方案?

1 个答案:

答案 0 :(得分:1)

更新:

这是一个解决方案,并假设您已安装azure powershell az module(如果您使用的是Powershell azureRM模块是可以的,但是您只需分别更改cmdlet)即可。

#the -Name parameter is the Failure Anomalies alert name you see in azure portal, like "Failure Anomalies - your_app_insights_name"
$alets_all = Get-AzAlertRule -ResourceGroupName "xxx" -Name "xxx"
$a = $alets_all[0]
$AppIns = "xxx" #the application insights name
$ResourceGroup = "xxxx"
$SubscriptionId ="xxxx"
$Location =$a.Location
$MetricName =$a.Condition.DataSource.MetricName
$action=New-AzAlertRuleEmail -CustomEmail "abc@gmail.com; xyz@microsoft.com"
$action.SendToServiceOwners=$false
Add-AzMetricAlertRule -Name "Failure Anomalies - $AppIns" -ResourceGroupName $ResourceGroup -TargetResourceId "/subscriptions/$SubscriptionId/resourceGroups/$ResourceGroup/providers/microsoft.insights/components/$AppIns" -Operator GreaterThan -Threshold 0 -WindowSize 01:00:00 -Location $Location -TimeAggregationOperator Total -Action $action -MetricName $MetricName

在我这边效果很好,测试结果如下:

enter image description here