如何编写 Kusto 查询以查找字段中具有相同值的两个连续行

How to write a Kusto query to find two consecutive rows that have the same value in a field

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

假设您有一个带有 Id、日期时间和错误代码的 table,您可以利用 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