Запросы для получения процента неудачных запросов - PullRequest
0 голосов
/ 06 июня 2019

Я пытаюсь создать АЛЕРТ для условия, когда за промежуток времени в 15 минут, если число FailedRequests было больше 99% от полученных запросов, я хочу поднять Alert. Я написал запрос KQL, но, к сожалению, он просто запускается даже без реальных проблем, то есть без реального достижения условия более 99%. следующий вопрос, и я уверен, что я делаю какую-то глупую ошибку, какая-либо помощь?

Любая помощь в исправлении вышеуказанного запроса, чтобы он действительно давал результаты только тогда, когда он является строгим, т.е. когда все полученные запросы терпят неудачу.

requests 
| where cloud_RoleName == 'ABCDEF_cloudRName' and resultCode != '404' 
| summarize FailedPercent=((countif(success == false))/count() by timestamp, cloud_RoleName, appName)*100 
| where FailedPercent > 99 
| project RelatedCI='XYZZZ',AlarmTime=timestamp,Category="Cloud-Azure-Monitor",SubCategory="Application",Object=appName ,"Value of Metric","Percentage Failed Requests"," is ", FailedPercent

1 Ответ

0 голосов
/ 06 июня 2019

Здесь - похожая проблема для отправки оповещения, когда процент неудачных попыток превышает xx%.

Я просто пишу запрос, пожалуйста, измените его, если он не соответствует вашемуneed:

requests
| where resultCode != "404" and success == "False" 
| summarize exceptionsCount =count()
| extend a = "a"
| join
(
    requests
    | where resultCode != "404" 
    | summarize requestsCount =count()
    | extend a = "a"
)
on a
| project isFail = 1.0 * exceptionsCount / requestsCount > 0.99 //check if the failed percentage is greater than 99%.
| project rr=iff(isFail, "Fail","Pass" ) 
| where rr=="Fail"

После того, как код запроса будет готов, вы можете создать оповещение на основе запроса, следуя инструкциям в выпуске выше.

...