我已经创建了一些用于部署 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/自定义错误峰值警报
。
但是,当我导航到订阅 [subscription-id] 中的“监视器”边栏选项卡并按资源组 [alerts-resource-group] 进行筛选时,我没有看到新警报。
作为一项健全性检查,我使用针对相同 App Insights 资源的相同流程创建了一个指标警报,并且该警报确实显示在“监视器”边栏选项卡中。
我想我的问题是,我是否误解了基于日志的警报规则?例如,Microsoft.Insights/scheduledQueryRules
类型的 Azure“资源”是否与“监控/警报/管理警报规则”中信号类型日志搜索的警报规则等同?我确信我的模板是正确的,因为它通过了验证并成功完成。但我对警报规则的结局感到困惑!
我应该提到的一件事是,我在与 App Insights 实例本身不同的资源组中创建警报规则,但指标警报也是如此,因此假设这并不重要。
最佳答案
事实证明,日志警报需要一个指向其正在监视的资源的隐藏链接。否则,它们会被创建,但不会在门户中的任何位置列出。
就我而言,我将以下变量添加到模板中:
"linkToAiResource" : "[concat('hidden-link:', resourceId('microsoft.insights/components', parameters('appInsightsResourceName')))]"
然后将其作为标签包含在资源定义中,如下所示:
"tags": {
"[variables('linkToAiResource')]": "Resource"
}
重新部署后,警报规则将显示在门户的“监控”边栏选项卡中。
关于使用 ARM 模板成功创建 Azure 日志警报规则,但未出现在门户中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53379479/