Microsoft Azure Services Monitoring and Tracing

November 3, 2019

Microsoft Azure is one of the top 3 cloud computing providers. They offer a large number of products that enable any organization, from SMB to Enterprise, to deploy and manage application services at any scale.

Monitoring Azure Service Using Azure Monitor

Like every other major cloud computing service, Microsoft offers multiple monitoring tools, under the Azure Monitor umbrella, that you can use to understand what’s happening with your services. Azure Monitor provides the following capabilities:

  • Metrics
  • Log analytics
  • Application Insights

Metrics:Metrics in Azure Monitor are the series of measured values and counts that are collected and stored over time. There are standard (or “platform”) metrics, and custom metrics. The standard metrics are provided to you by the Azure platform itself. Standard metrics reflect the health and usage statistics of your Azure resources. Whereas custom metrics are sent to Azure by your applications using the Application Insights API for custom events and metrics, Windows Azure Diagnostics (WAD) extension, or by Azure Monitor REST API.” –

Every cloud computing provider MUST make a metrics monitor available to their customers since time series metrics are critical to understanding what is happening at the infrastructure component level (meaning any component that application services depend upon). Seemingly standard practice these days for cloud vendor monitoring, Microsoft collects metric data at 1 minute intervals. This is very low granularity data intended to show you trends, not the granularity you normally want for troubleshooting contention issues within your application services. Of course, low granularity data is better than not having any data at all.

Logs: “Azure Monitor can collect different sources as log data and store it for correlation and analysis using its query language.” –

Ingesting large quantities of log files and then creating meaningful information from that data is a difficult task. This is especially true at massive scale as you would experience with a major cloud provider like Azure. Ingesting, indexing, and analyzing all log data from many services takes significant time and there is an inherent delay in this process. The Azure docs state this delay to be anywhere from 2-5 minutes. If you want to use log files to create metrics with alerts it’s important to understand that you will encounter meaningful delays in receiving these alerts. There are more efficient ways to use log information to help you identify the root cause of problems and we will discuss that later in this article.

Application Insights:
“Azure Monitor Application Insights provides deep code-level application performance monitoring.” –
Microsoft enables code level application monitoring via SDKs that you add to your projects. The process requires a non-trivial amount of effort and knowledge
but it does provide the functionality required to gain visibility into your running applications.

Distributed tracing has become the defacto standard for monitoring microservices (or highly distributed architectures) and Microsoft supports distributed tracing of Python and Go
via OpenCensus compatibility.

Microsoft Azure Monitor can only be used to monitor components and services running within Microsoft Azure. If you have a multi-cloud strategy, or if you want a monitoring solution with better granularity and less manual effort, you will need to look at other commercial monitoring solutions.

Monitoring and Tracing Azure Services Using Instana

Instana simplifies and enhances the monitoring of your Azure services and application code, monitors everywhere you need it to (Azure, AWS, Google, on-prem, etc), and provides high fidelity data that includes 1 second granularity metrics and distributed traces for EVERY request.

The documentation contains the latest information on the Azure services that are automatically monitored by Instana. Support is continually expanding to encompass the most popular and important services provided by Microsoft. Currently, Instana supports metric monitoring for the following Azure services:

To provide visibility and insight into Azure based cloud environments, Instana automatically discovers and monitors your Azure services. Our agent is easily installed inside or outside your Azure infrastructure. You can download the agent from the Instana management portal and install it on any (virtual) machine that has access to Azure.
Azure Remote Services monitoring will:

  • Provide real-time insights into metadata, configuration, metrics
  • Watch the health of each service and alert on issues
  • Enable service discovery leveraging service information (see Service Configuration)
  • Place this insight within the context of the rest of your infrastructure/services

A major benefit of using Instana to monitor Azure services and your application services is that each request is traced by Instana for a full, end to end view (Figure 1). There is no sampling of any kind ever, so you will always have complete data to identify the root cause of any problematic request.

Instana Azure Distributed Tracing
Figure 1 – Instana distributed trace of application request through Azure services

In addition to distributed tracing, all of the Azure metrics are automatically analyzed and correlated to the application service components (Figure 2). If any requests slow down passing through any Azure services, you will definitely know it and you will also have all supporting data (like metric KPIs) instantly available to help you understand the root cause (Figure 3).

Instana CosmosDB Metric Monitoring Dashboard
Figure 2 – Instana dashboard showing CosmosDB metrics and meta-data

Instana Azure Automatic Problem Identification
Figure 3 – Instana screenshot showing automatic identification of issue with CosmosDB

Potentially more important than each individual request are the aggregate dashboards that are provided for each Azure application service (Figure 4). These dashboards analyze all of the trace data over the selected time period and show trends in health and performance. It’s easy to identify problems with any service at a glance using the various charts contained within each dashboard.

Instana Azure Service Request Dashboard
Figure 4 – Instana service dashboard showing aggregate information for all requests through this service

Just as with every other technology monitored by Instana, Azure monitoring includes automatic and continuous discovery, dependency mapping, metric monitoring, distributed tracing, anomaly detection, and filter based analytics across the complete trace data set. If you want deep visibility of your Microsoft Azure services combined with distributed tracing of your microservices then you should sign up for a free trial of Instana and see for yourself.

Play with Instana’s APM Observability Sandbox

Announcement, Developer, Featured, Product
Instana has been leading the Application Performance Monitoring (APM) industry with our automated distributed tracing technology, AutoTrace™. With AutoTrace, Instana has eliminated the need to manually instrument distributed tracing in your environment....
Announcement, Product
With this, monitoring and tracing of PHP services is as important as it has been in the past two decades. Instana is always eager to improve the support of PHP and is...
Developer, Featured, Product
Coroutines are computer program components that generalize subroutines for non-preemptive multitasking, by allowing execution to be suspended and resumed. (source: wikipedia) With that we could close the blog post, everything’s said. We,...

Start your FREE TRIAL today!

As the leading provider of Automatic Application Performance Monitoring (APM) solutions for microservices, Instana has developed the automatic monitoring and AI-based analysis DevOps needs to manage the performance of modern applications. Instana is the only APM solution that automatically discovers, maps and visualizes microservice applications without continuous additional engineering. Customers using Instana achieve operational excellence and deliver better software faster. Visit to learn more.