首页 > 解决方案 > Azure Monitor 自定义日志搜索查询 - 了解周期和频率

问题描述

更新

实际问题与我所描述的不同。一旦我们解决问题,我将提供并更新/编辑此票证。可以在此线程中找到更多详细信息 - https://techcommunity.microsoft.com/t5/Azure-Log-Analytics/Reliably-trigger-alerts-for-Log-Analytics-log-entries/mp/319315/highlight/false #M1224

原始问题

我们用于Azure Monitor根据登录创建警报Log Analytics。为此,我们选择我们的 Log Analytics 帐户作为“资源”,然后为“条件”选择“自定义日志搜索”信号名称。警报逻辑 - “结果数大于 0”。

示例查询:

search *
| where ResourceProvider == "MICROSOFT.DATAFACTORY" and status_s == "Failed"

PeriodFrequency我们设置15分钟。一切看起来很简单,但是...

问题:上述设置不起作用(有时会起作用),因为警报仅在某些时候触发,其中很多都被遗漏了,这是完全不可接受的行为。

如果我们设置Period = Frequency = 5分钟,我们基本上会错过几乎所有的事件。Period = Frequency = 15分钟效果更好,但仍然缺少很多事件。Period = Frequency = 30效果更好,但这一切看起来很奇怪。

重要通知- 日志是从Data Factory V2into收集的Log Analytics。我怀疑警报未命中是由于日志的传递Log Analytics有一些延迟(最多几分钟)。因此,当Azure Monitor评估最后15几分钟的警报查询 ( Period=15) 时,可能是大多数重新发送的日志条目仍然不在Log Analytics. 15当在几分钟内执行下一个查询评估时,它将错过因 prev 15minutes interval延迟而进入的日志。这个假设正确吗?如果是这样,这很奇怪 - 那么我们应该如何配置PeriodFrequency值?如果我设置Period > Frequency(例如Period = 30Frequency = 5,这意味着“每 5 分钟评估一次表达式,从当前时间获取最后 30 分钟的数据”)然后我们会收到多个重复的警报,因为Period大于Frequency所以日志搜索查询很有可能每5分钟返回相同的日志条目 - 这是非常不受欢迎的行为。

标签: azuremonitoralerts

解决方案


问题恰好与 ARM 模板创建警报的错误行为有关。感谢 Stanislav Zhelyazkov,它已被确定并解决 - 我现在使用替代 ARM API,它似乎工作正常。可以在此处找到有关该主题的更多详细信息 - https://techcommunity.microsoft.com/t5/Azure-Log-Analytics/Reliably-trigger-alerts-for-Log-Analytics-log-entries/mp/309610


推荐阅读