KUSTO: пороговая линия в множественном запросе - PullRequest
0 голосов
/ 27 февраля 2020

Я хочу показать пороговое значение для указанного c значения в запросе KUSTO. Мне кажется, что все просто, но не работает, я думаю, когда ваш запрос использует несколько выражений 'by' в суммировании.

Это работает, строка показывается в 4500:

customEvents
 | where name == "Event sharepoint monitoring script" 
 | where timestamp >= ago(14d)
 | extend spRequestDuration = customDimensions.["spRequestDuration"]    
 | summarize avgRequestDuration=avg(todouble(spRequestDuration)), threshold = 4500 by bin(timestamp, 5m) // use a time grain of 5 minutes
 | render timechart  

Но для следующего запроса дополнительная пороговая линия не отображается.

customEvents
 | where name == "Event sharepoint monitoring script" 
 | where timestamp >= ago(14d)
 | extend spRequestDuration = customDimensions.["spRequestDuration"]  
 | extend siteType = customDimensions.["SiteType"] 
 | summarize avgRequestDuration=avg(todouble(spRequestDuration)), threshold = 4500 by tostring(siteType), bin(timestamp, 5m) // use a time grain of 5 minutes
 | render timechart  

Должен ли я сделать это по-другому или это не поддерживается?

1 Ответ

2 голосов
/ 27 февраля 2020

Вам необходимо создать «порог» как одну дополнительную серию «siteType», один из способов сделать это - объединение с другим набором данных, который содержит только «порог» как собственный сайт. Вот пример:

let events = customEvents
 | where name == "Event sharepoint monitoring script" 
 | where timestamp >= ago(14d)
 | extend spRequestDuration = customDimensions.["spRequestDuration"]
 | extend siteType = customDimensions.["SiteType"];
 events
 | summarize avgRequestDuration=avg(todouble(spRequestDuration)) by tostring(siteType), bin(timestamp, 5m) // use a time grain of 5 minutes
 | union (events | summarize by bin(timestamp, 5m), siteType="Threshold" | extend avgRequestDuration = 4500.0)
 | render timechart    
...