Как написать запрос Кусто, чтобы найти две последовательные строки, которые имеют одинаковое значение в поле - PullRequest
0 голосов
/ 16 октября 2018

Мне нужно написать запрос Kusto для Azure Log Analysis, который находит последовательные события, имеющие одинаковое значение в поле (тот же код ошибки).В основном нам нужно найти, не выполняются ли запросы дважды подряд.Случай, когда запрос терпит неудачу, один успешен, а другой отказывается, не возвращается.

1 Ответ

0 голосов
/ 16 октября 2018

Предполагая, что у вас есть таблица с 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
...