我已经创建了一些用于部署Azure指标警报规则的ARM模板,但是现在我需要部署日志警报规则(即基于Application Insights查询而不是平台指标的规则)。
我在example here之后编写了模板脚本(这表明我需要创建Microsoft.Insights/scheduledQueryRules
类型的资源),并使用Azure门户的模板部署服务作为described here进行部署。
Azure将部署报告为成功,活动日志为我提供了部署结果,包括我新资源的ID,例如/subscriptions/[subscription-id]/resourcegroups/[alerts-resource-group]/providers/Microsoft.Insights/scheduledQueryRules/Custom errors spike alert
。
但是,当我导航到订阅[subscription-id]中的Monitor刀片并按资源组[alerts-resource-group]进行过滤时,我看不到新警报。
作为健全性检查,我使用针对相同App Insights资源的相同过程创建了一个指标警报,并且该警报确实显示在Monitor刀片中。
我想我的问题是,我是否误解了基于日志的警报规则?例如,类型为Microsoft.Insights/scheduledQueryRules
的Azure'资源'是否等于监视器/警报/管理警报规则中信号类型为日志搜索的警报规则?我确信我的模板是正确的,因为它通过了验证并成功完成了。但是我对警报规则在哪里结束感到困惑!
我应该提到的一件事是,我将在与App Insights实例本身不同的资源组中创建警报规则,但是对于度量标准警报也是如此,因此假设这并不重要。
答案 0 :(得分:2)
事实证明,日志警报需要指向他们正在监视的资源的隐藏链接。否则,它们将被创建,但不会在门户中的任何位置列出。
就我而言,我在模板中添加了以下变量:
"linkToAiResource" : "[concat('hidden-link:', resourceId('microsoft.insights/components', parameters('appInsightsResourceName')))]"
然后将其作为标签包含在资源定义中,如下所示:
"tags": {
"[variables('linkToAiResource')]": "Resource"
}
重新部署后,警报规则将出现在门户网站的“监视”刀片中。