Monitoring in Azure Cloud

There is no single, off-the-shelf solution or offering in Azure, or for that matter any cloud provider, to the monitoring challenges presented by microservices. Interestingly enough, there are not too many open source tools available that can work with .NET-based microservices.

We are utilizing Microsoft Azure Cloud and cloud services for building our microservices, so it is useful to look for the monitoring capability it comes with. If you are looking to manage approximately a couple of hundred microservices, you can utilize a custom monitoring solution (mostly interweaving PowerShell scripts) based on a Microsoft Azure-based solution.

We will be primarily focusing on the following logging and monitoring solutions:

Let's look at these solutions from a different perspective. This perspective will help us visualize our Azure-based microservice monitoring solution. A microservice is composed of the following:

Each of these layer components can be monitored as follows:

Various Azure services come with an activity ID in their log entries. This activity ID is a unique GUID assigned for each request, which can be utilized as a correlation ID during log analysis.