azure - 使用 ARM 模板成功创建 Azure 日志警报规则,但未显示在门户中
问题描述
我创建了一些用于部署 Azure 指标警报规则的 ARM 模板,但我现在需要部署日志警报规则(即基于 Application Insights 查询而不是平台指标的规则)。
我已经按照此处的示例编写了模板脚本(这表明我需要创建一个类型为 的资源Microsoft.Insights/scheduledQueryRules
)并使用 Azure 门户的模板部署服务进行部署,如此处所述。
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 刀片中。
我想我的问题是,我对基于日志的警报规则有误解吗?例如,类型的 Azure“资源”是否Microsoft.Insights/scheduledQueryRules
等同于Monitor / Alerts / Manage alert rules中的信号类型日志搜索的警报规则?我确信我的模板是正确的,因为它通过了验证并成功完成。但我对警报规则的最终结果感到困惑!
我应该提到的一件事是,我正在与 App Insights 实例本身不同的资源组中创建警报规则,但指标警报也是如此,因此假设这并不重要。
解决方案
事实证明,日志警报需要一个指向他们正在监控的资源的隐藏链接。否则,它们会被创建,但不会在门户中的任何位置列出。
就我而言,我在模板中添加了以下变量:
"linkToAiResource" : "[concat('hidden-link:', resourceId('microsoft.insights/components', parameters('appInsightsResourceName')))]"
然后将其作为标签包含在资源定义中,如下所示:
"tags": {
"[variables('linkToAiResource')]": "Resource"
}
重新部署后,警报规则将出现在门户的 Monitor 边栏选项卡中。
推荐阅读
- node.js - 接收错误:使用邮递员向 AWS S3 api 提交 POST 请求时连接 ECONNREFUSED
- r - 消失的柱子 (R)
- python - 如何将 CSV 文件中的内容附加到代码列的单元格 = 'AAPL' 的所有行中的列?
- bash - 在终端中通过 Emacs 查看手册页
- python - 安装 os_sys 软件包时遇到问题,接收 os_sys 有无效的车轮错误
- python - 使用 numpy 和 numba Python 优化计算
- python - “sanic”python中的占位符
- javascript - JS Proxy 属性值与 Vue.js 组件 Prop 中的目标属性值不同
- flutter - 是否可以修复在颤振稳定通道中的“颤振”下发现的意外子“生成”
- scala - Spark 2.3:在 rdd.map() 中读取数据帧