Azure has the capability to create alerts on all sorts of events. If it can be expressed as a metric on a resource in Azure, then you can get an alert if the metric value reaches a state you don’t like.

One of those metrics is the “Endpoint Status by Endpoint” of Azure Traffic Manager.

Traffic Manager has a number of backend endpoints to which it directs traffic. If an endpoint is down for some reason, it doesn’t get any traffic. This is part of what makes Traffic Manager smart.

But you probably want to know about it, when an endpoint is down. That is alerting on the “Endpoint Status by Endpoint” metric can do.

I recently wanted to create an Azure Resource Manager (ARM) template with a number of interdependent resources. This post contains a number of “Things I Learned”. Hopefully, you can avoid some of the problems I had.

The resources were:

SQL server and database

Azure function app

Azure web app for an ASP.NET Core site

Storage account

Application Insights instance for the web app

Application Insights instance for the function app

In my previous post I described a place to get detailed logs about Web App site extension installation. I had spent a long time to figure out the reason that the installation of the Application Insights site extension failed.

In the first part of this series I wrote about what Azure Application Insights (AI) can do and how to add extra information to the tracking telemetry your application sends to AI.

The solution that I wanted to add AI tracking to was a Windows Service with self-hosted WCF services. One service is the server side of a SOAP service where the caller defined the SOAP WSDL, and the other WCF service is a single method that receives raw XML as a http POST message. To track each request to the WCF service, I decided to use a message inspector.

I’ve previously (1, 2, 3) posted about Application Insights when it was part of Visual Studio Online. It has been moved to the Azure portal, and now has a slightly different API.

It can be used to detect crashes, tracks performance issues and usage of mobile apps, web apps and more.
I’ve used it on a few web sites hosted in IIS or on Azure, and it works great.
For ASP.net web sites, it’s really easy to set up and get going. There the VS2015 integration to it makes it really seamless, and if you can follow a few wizard steps, there is no additional setup needed.

However, if you don’t have a mobile app, an ASP.net site on Azure or local IIS or a J2EE application, then there are no wizards, and no easy setup.

It seems like a lot of work, and as yet you haven’t seen what you gain by installing the agent on your web server and adding a strange configuration file to your web application. You might wonder why you should do all of that.

That’s all very nice. But you don’t actually gain much by just installing the agent. You need to tell it what to monitor. This post describes how to do that.

If you have web applications running in IIS, and you want to monitor their performance, you are pretty much all set by simply installing the monitoring agent, and adding a single config file to your project. The config file ApplicationInsights.config lets the monitoring agent know that you want this web application monitored, and it allows you to configure some settings about what you want monitored.

Visual Studio Online has a relatively new feature called Application Insights. It’s currently in preview, but it already has lots of nice features for gaining insights into what is going on with your web app (or Windows Phone app or Azure web site).

I’m planning to do a few blog posts on this subject. This first part is about installing the monitoring agent and getting the first Application Insights information from my apps to the Application Insights portal.

In my current main project, we have a lot of WCF services hosted with my company’s hosting branch. We don’t have a lot of information about the service health and their use, other than what monitoring services we have built ourselves. Since that is not our main business, we decided to use a third-party service to monitor those things.

We have evaluated a few options, and decided to go further with VS Application Insights, as it seemed to be enough for our needs – and while we evaluate, its free. I guess it will come at a cost when it gets out of preview.