3

我需要为 Azure 日志分析编写一个 Kusto 查询,以查找在字段中具有相同值的连续事件(相同的错误代码)。我们基本上需要查找请求是否连续两次失败。一次请求失败、一次成功、一次失败的情况不予退回。

4

1 回答 1

6

假设您有一个带有 Id、Datetime 和 ErrorCode 的表,您可以利用 prev() 函数来实现:

https://docs.microsoft.com/en-us/azure/kusto/query/prevfunction

datatable(Id:string, Datetime:datetime, ErrorCode:string)
[
    '1', datetime(2018-10-16 00:00), 'Error 1',
    '1', datetime(2018-10-16 00:01), 'Error 1',
    '2', datetime(2018-10-16 00:02), 'Error 1',
    '2', datetime(2018-10-16 00:03), 'Error 2',
]
| order by Id, Datetime asc 
| extend prevErrorCode = prev(ErrorCode), prevId=prev(Id)
| where prevErrorCode==ErrorCode and prevId  == Id
于 2018-10-16T04:28:01.603 回答