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

标签 azure azure-devops azure-rm-template azure-monitoring

我已经创建了一些用于部署 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/

相关文章:

azure - 如何从 ARM 模板部署初始化/格式化 Azure Windows VM 的数据磁盘?

azure - 如何在ARM模板部署中为资源组字段赋予默认值?

asp.net - 我的解决方案中有两个 Web 项目,要部署哪一个

azure - 向视频索引器提供一个 videoUrl,其中包含查询参数

c# - Azure devops 无法连接 Nuget Restore 和 MSBuild for Nuget Packages

c# - Azure devops - 在 netcore/模板项目之外找不到 NUnit 测试

azure-devops - 探索托管代理上的文件系统

azure - 如何在 IIS 中通过 C# 连接到 azure(管理)rest api

azure - 将 Azure 应用服务日志连接到 ELK

json - 将一个arm部署资源链接模板的输出传递到另一个