Служба Azure Web App запускает предупреждение, если X% запросов не выполняются - PullRequest
0 голосов
/ 07 января 2019

Я пытался настроить оповещения службы приложений .NET Core, размещенной в Azure, для запуска события, если X% запросов не выполнялись в течение последних 24 часов. Я также попытался настроить оповещение из ресурса AppInsights Сервиса, используя следующие показатели: частота исключений, исключения сервера или неудачный запрос.

Однако ни один из них не способен захватить % (failure rate), все они используют count в качестве метрики.

Кто-нибудь знает обходной путь для этого?

Ответы [ 2 ]

0 голосов
/ 08 января 2019

Я искал способ избежать написания запросов, используя что-то, что уже встроено в понимание приложения, но в итоге я также придумал что-то вроде вашего решения, используя вместо этого запросы:

requests
| summarize count()
| extend a = "a"
| join
(
    requests
    | summarize count() by resultCode
    | extend a = "a"
)
on a
| extend percentage = (todouble(count_1)*100/todouble(count_))
| where resultCode == 200
| where percentage < 90 //percentage of success is less than 90% 
| project percentage_of_failures = round(100- percentage,2), total_successful_req = count_, total_failing_req = count_ - count_1 , total_req = count_1
0 голосов
/ 08 января 2019

Пожалуйста, попробуйте запрос на основе запроса:

1. Перейдите к аналитике аналитики, в редакторе запросов введите следующие сценарии:

exceptions
| where timestamp >ago(24h)
| summarize exceptionsCount = sum(itemCount) | extend t = ""| join
(requests 
| where timestamp >ago(24h)
| summarize requestsCount = sum(itemCount) | extend t = "") on t
| project isFail = 1.0 * exceptionsCount / requestsCount > 0.5 // if fail rate is greater than 50%, fail
| project rr = iff(isFail, "Fail", "Pass")
| where rr == "Fail"

2. Затем нажмите «Новое правило оповещения» в правом верхнем углу:

enter image description here

3.На странице создания правила установите следующее:

enter image description here

...