使用ARM模板成功创建了Azure日志警报规则,但未出现在门户网站中

时间:2018-11-19 17:04:16

标签: azure azure-devops arm-template

我已经创建了一些用于部署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实例本身不同的资源组中创建警报规则,但是对于度量标准警报也是如此,因此假设这并不重要。

1 个答案:

答案 0 :(得分:2)

事实证明,日志警报需要指向他们正在监视的资源的隐藏链接。否则,它们将被创建,但不会在门户中的任何位置列出。

就我而言,我在模板中添加了以下变量:

"linkToAiResource" : "[concat('hidden-link:', resourceId('microsoft.insights/components', parameters('appInsightsResourceName')))]"

然后将其作为标签包含在资源定义中,如下所示:

"tags": {
    "[variables('linkToAiResource')]": "Resource"
}

重新部署后,警报规则将出现在门户网站的“监视”刀片中。