如何使用 ARM 模板创建带有日志分析查询的自定义警报

问题描述

我正在努力使用 ARM 模板为各种 azure 资源创建 azure 警报。但我想使用以下日志分析查询为 Azure 数据工厂创建自定义警报:

"alertLogQuery": "ADFPipelineRun\r\n| 其中 ResourceId 为 'df-xxx-xxx-xxxx'\r\n| 其中 TimeGenerated > ago(15m)\r\n| 其中状态为 'Queued'\ r\n| 其中 PipelineName in ('pl_xxx_Business_xxx_Check','pl_xxx_xxxx_Date_Check')\r\n| 总结为 PipelineName,TimeGenerated\n",

模板文件

Assert.That(collection,Has.Item("two").After.Item("one"))

我收到以下错误

模板验证失败:模板资源“df-xx-xx-xxx-Queued Demo ADF 管道警报/报告”类型为“Microsoft.WindowsAzure.ResourceStack.Frontdoor.Common.Entities.TemplateGenericProperty`1[System.String] ' 在 '71' 行和 '60' 列的段长度不正确。嵌套资源类型必须具有与其资源名称相同数量的段。根资源类型的段长度必须比其资源名称大 1。

那么,谁能建议我如何解决上述问题。

解决方法

请参阅this link。在 variables -> alertSource 部分,您可以在此处添加自定义警报规则:

"alertSource":{
            "Query":"write your query here","SourceId": "xxxxx","Type":"xxxx"
        },

请注意,如果有的话,您需要对查询中的某些字符(如 "")进行转义。