Application Insights – Part 4: Application Monitoring with Application Insights

This series of blog posts will tell you everything you need to know about application insights.

Part 1: The Basics
Part 2: Is Application Insights really that “easy to add”?
Part 3: Is Application Insights really that “easy to use”?
Part 4: Application Monitoring with Application Insights
Part 5: Troubleshooting Failures with Application Insights
Part 6: Troubleshooting Performance Problems with Application Insights
Part 7: Availability Monitoring and Web-Testing with Application Insights
Part 8: Extending the Power of Application Insights with Glimpse and PowerBI

 

Part 4: Application Monitoring with Application Insights

One of  the main features of Application Insights is Application Monitoring. There are plenty of charts in the Azure Portal that give an overview on the current application state. The metric data that is shown in the web request response time charts adheres to the standard web request timings that are defined by the W3C committee. The graphic below shows how the metrics collected and visualized by application insights correspond to the W3C standard. The details of the standard can be found here: https://www.w3.org/TR/navigation-timing/#processing-model

 

image_thumb[10]

Credits: http://www.stefangeiger.ch/

However, in my personal opinion, the Azure Portal is very well suited for investigating problems and drilling down to the details. For a dashboard-style monitoring solution I suggest using PowerBI, Microsofts self-service-BI solution. PowerBI is THE tool for live data dashboards that update automatically. Check part number 7 of this series for instructions on how to leverage Application Insights with PowerBI.

A great monitoring feature is the possibility to define alerts over metrics. Application Insights let’s you configure different types of alerts in the Azure Portal:

image_thumb[12]

 

An alert definition combines three things:

  1. a metric to be monitored (e.g. request response times)
  2. a condition (e.g. greater than)
  3. a threshold value. The threshold value type depends on the metric to be monitored. For response time it would be seconds or fractions of seconds, for availability, it would be a percentage value.
  4. a time period. The time periods range from “last 5 minutes” up to “last 24 hours”.

This combination allow for alert triggers such as:

“Alert me when the availability for location Texas stayed below 80% for the last 30 minutes”

or

“Alert me when there more than 5 server exceptions occurred during the last 24 hours”.

The alerts can trigger emails or invoke a WebHook. Check out the official ASP.NET WebHook documentation at: http://docs.asp.net/projects/aspnetwebhooks/en/latest/

 

The next post explores how to track down errors with Application Insights:

Part 5: Troubleshooting Failures with Application Insights