我试图在生态系统中监视多个事件网格主题中的死信事件,但在Azure监视器中似乎找不到一个查询,该查询将输出这些类型的事件,以便在规模上创建警报规则--我认为唯一的选择是在事件网格主题中设置度量警报,而不是创建一个监视所有EG主题的单一警报规则。我想使用IaC来完成这个任务,但我担心我创建的唯一方法是使用一个PowerShell脚本来查找订阅中所有可能的事件网格主题,并在一个循环中执行一个新的度量警报命令(这样每个事件网格主题都有它自己的警报)。
我是不是疯了?有什么更好的方法来完成这个任务吗?
发布于 2022-02-11 09:57:28
正如在文档中提到的,我们尝试在‘add-azemeicwartru2’cmdlet中将多个resourceId's of event grid传递给-target resource scope标志,但失败了,错误如下。

我们已经在我们当地的环境中测试了这一点
您可以使用下面的PowerShell脚本为订阅中的每个事件网格主题创建一个警报&监视Dead Letter Events。脚本将创建以下资源
这里是Powershell脚本:
$rg="<RGGroup>" ## resource group to for creating action group & alert
$eventgridlist=Get-AzEventGridTopic
$eventgridid=$eventgridlist.PsTopicsList.ToArray().id
$windowSize = New-TimeSpan -Minutes 5
$frequency = New-TimeSpan -Minutes 1
$condition = New-AzMetricAlertRuleV2Criteria -MetricName "DeadLetteredCount" -TimeAggregation Total -Operator GreaterThan -Threshold 1
$email = New-AzActionGroupReceiver -Name "AGgroupactions" -EmailReceiver -EmailAddress "<emailid>"
Set-AzActionGroup -Name "EGTopic_actionGroup" -ResourceGroup $rg -Receiver $email -ShortName "egalert"
$name=1
foreach( $i in $eventgridid){
Add-AzMetricAlertRuleV2 -Name "eventgridalert_$name" -ResourceGroupName $rg -WindowSize $windowSize -Frequency $frequency -TargetResourceScope $i -TargetResourceType "Microsoft.EventGrid/topics" -TargetResourceRegion " " -Description "This is description" -Severity 3 -ActionGroup $actionGroupId -Condition $condition
$name++
}这里是供参考的示例输出屏幕截图:

https://stackoverflow.com/questions/71072796
复制相似问题