Azure Web App Service trigger alert if X% of the requests fail

百般思念 提交于 2019-12-11 18:44:35

问题


I have been trying to set up alerts of a .NET Core App Service hosted in Azure to fire an event if X% of the requests are failing in the past 24 hours. I have also tried setting up an alert from the Service's AppInsights resource using the following metrics: Exception rate, Server exceptions, or Failed request.

However, none of these have the ability to capture a % (failure rate), all of them are using count as a metric.

Does anyone know a workaround for this?


回答1:


Please try the query-based alert:

1.Go to application insights analytics, in the query editor, input below scripts:

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.Then click the "New alert rule" on the upper right corner:

3.In the Create rule page, set as following:




回答2:


I was looking for a way to avoid writing queries using something that is already built-in in app insights but in the end i also came up with something like yours solution using the requests instead:

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


来源:https://stackoverflow.com/questions/54081116/azure-web-app-service-trigger-alert-if-x-of-the-requests-fail

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!