Azure日志分析-警报建议

时间:2019-03-25 10:06:27

标签: azure alerts azure-log-analytics

我有一个关于天蓝色日志分析警报的问题,因为我不太了解在基于汇总值设置警报的时间范围内如何工作。

我有以下代码:

Event | where Source == "EventLog" and EventID == 6008 | project TimeGenerated, Computer | summarize AggregatedValue = count(TimeGenerated) by Computer, bin_at(TimeGenerated,24h, datetime(now()))
For time window : 24/03/2019, 09:46:29 - 25/03/2019, 09:46:29

在上面的警报配置界面中,我们了解了如何添加“ bin_at(TimeGenerated,24h,datetime(now()))”,因此我添加了该函数,并在24小时内传递了参数。如果已经添加了,那么时间点是什么。

基本上,我要寻找的结果是在24小时内捕获该事件并在事件计数超过2时发出警报。我不明白为什么在此之上还需要一个时间窗口,因为我只是想每五分钟运行一次代码,并在检测到此事件的两个以上实例时发出警报。

任何人都可以帮忙吗?

2 个答案:

答案 0 :(得分:0)

AFAIK,您可以使用如下所示的查询来满足您在24小时内捕获所需事件的要求。

Event 
| where Source == "EventLog" and EventID == 6008 
| where TimeGenerated > ago(24h)
| summarize AggregatedValue= any(EventID) by Computer, bin(TimeGenerated, 1s)

此示例查询中的“ 1s”是我们汇总并从Log Analytics工作区存储库中获取输出的时间范围。有关更多信息,请参见https://docs.microsoft.com/en-us/azure/kusto/query/summarizeoperator

要创建警报,您可能必须转到Azure门户-> YOURLOGANALYTICSWORKSPACE->监视磁贴->警报->管理器警报规则->新警报规则->添加条件->自定义日志搜索->粘贴任何内容在“搜索查询”部分下的上述查询中->在“警报逻辑”部分的“阈值”参数下键入“ 2”->单击“完成”->在“操作组”部分下,选择现有的操作组或创建一个如下文所述->更新“警报详细信息”->单击“创建警报规则”。

https://docs.microsoft.com/en-us/azure/azure-monitor/platform/action-groups

希望这会有所帮助!!干杯!! :)

答案 1 :(得分:0)

要在评论部分回答您的问题,是的,警报坚持要添加bin函数,这就是我通过使用“ 1”在bin函数中提供相关查询的原因,并尝试在我以前的回答中对此进行解释。

如果将“ 1s”放入bin函数,则可以通过在1秒的时间范围内汇总任何EventID的值来从Log Analytics中获取输出。因此输出如下所示,其中aaaaaaa被视为VM名称,x被视为特定时间。

enter image description here

如果在bin函数中放置“ 24h”而不是“ 1s”,那么您将通过在24小时内汇总任何EventID的值来从Log Analytics中获取输出。因此输出如下所示,其中aaaaaaa被视为VM名称,x被视为特定时间。

enter image description here

因此,在这种情况下,我们不应该在bin函数中将'24h'与'any'聚合一起使用,因为如果使用它,那么在24小时的时间范围内我们只会看到一次输出,这对您没有帮助使用上面提供的具有“ any”进行汇总的查询来找出事件发生计数。相反,如果要在bin功能中使用“ 24h”,则可以使用“计数”聚合而不是“任何”聚合。然后,该查询将如下所示。

Event 
| where Source == "EventLog" and EventID == 6008 
| where TimeGenerated > ago(24h)
| summarize AggregatedValue= count(EventID) by Computer, bin(TimeGenerated, 24h)

此查询的输出如下所示,其中aaaaaaa被视为VM名称,x被视为特定时间,y和z被视为某些数字。

enter image description here

另一个要注意的是,所有上述查询和输出均基于基于合计值的警报设置,即在基于节的警报逻辑下选择“度量标准”时设置警报。换句话说,当您在“基于”部分的警报逻辑下选择“度量标准”时,警报查询中会期望有“合计值”列。但是,当您说“您得到了一个事件的计数”时,这意味着如果我没有记错的话,可能是您在基于部分的警报逻辑下选择了“结果数”,该查询中不需要任何聚合列。

希望这可以澄清!!干杯!