Developer
Developer

Reputation: 487

Azure Response Time Monitoring per Url with a range

I am trying to configure the dashboard consists few business critical functionality which we needs to focus for performance monitoring based on the SLAs.

Example a landing page url retrieves a records needs to be faster and accepted SLA is

Green < 1sec Amber 1 sec - 2 secs Red > 2 secs

We were able to configure the same in SPLUNK based on flat file logs. However we could not able to configure similar thing in Azure.

enter image description here

As of now I could not able to create a dashboard for our requirement. Any type of graphical representation is Ok for us. Based on this monitoring we might need to react and improve the performance over the period of time when it goes slow.

Upvotes: 4

Views: 2787

Answers (3)

John Gardner
John Gardner

Reputation: 25126

If you run the same query in Azure Workbooks, you could use the "thresholds" renderer in grids or tiles to format cells with if/then/else like that for color for each range.

thresholds

would get you: thresholds in a grid

you can then pin that grid/tiles/graph to an azure dashboard. (if the query uses a workbooks time range parameter, it will inherit the dashboard's time range and auto update as well.

Upvotes: 0

biswpo
biswpo

Reputation: 809

An approximated solution which can serve your purpose

use request time vs time char along with reference lines which can be your SLA thresholds So you can figure out at this moment the response time is below or above the threshold

// Response time trend // Chart request duration over the last 12 hours requests | where timestamp > ago(12h) | summarize avgRequestDuration=avg(duration) by bin(timestamp, 10m) // use a time grain of 10 minutes | render timechart | extend Green = 200 | extend Amber = 400 | extend red = 800

it would look something like below

enter image description here

I think it is much more useful than your previous UI, which has kind of a meter like feel that gives you health indication at that moment, but with continuous time plot you get better picture of the trend

Upvotes: 5

Ivan Glasenberg
Ivan Glasenberg

Reputation: 29950

You can use the below Kusto query in application insights:

requests 
| where timestamp > ago(2h) //set the time range
| where url == "http://localhost:54917/" //set the url here
| summarize avg_time =avg(duration)
| extend my_result = case(
avg_time<=1000,"good", //1000 milliseconds
avg_time<=2000,"normal",//2000 milliseconds
"bad"
)

Note:

1.the unit of avg_time is milliseconds

2.when avg_time <=1000 milliseconds, then in dashboard, it shows "good"; when <=2000 milliseconds, it shows "normal"; when >2000 milliseconds, it shows "bad".

The query result(change it to Chart):

enter image description here

Then in dashboard:

enter image description here

Upvotes: 4

Related Questions