A Guide to Azure-Native Monitoring Tools 101

The trend of cloud adoption has revolutionized various paradigms of application hosting, lifecycle management, and operations, including monitoring tools and processes. Today, the native monitoring tools offered by cloud service providers are the first choice of most organizations, mainly due to ease of integration and robust out-of-the-box features. 

For workloads hosted in Azure, Azure Monitor is a one-stop solution. It provides a comprehensive set of services that help cloud administrators keep track of and derive insights about performance, availability, and other telemetry information related to applications. 

In this post, we’ll take a deep look at the monitoring capabilities offered by Azure.

Azure Monitor: Complete Azure-Native Monitoring Solution

Azure Monitor is Azure’s built-in monitoring solution. It unifies application performance, service monitoring, and platform monitoring. The Azure Monitor architecture is designed to consolidate metrics and logs from various resources in Azure and help analyze, visualize, derive insights, and respond to anomalies.

Figure 1: High-level overview of Azure Monitor’s architecture (Source: Microsoft)

Of course, the backbone of Azure Monitor is the monitoring data (namely metrics and logs) collected from various sources:

  • Metrics: Numeric data collected from the monitored Azure resources. Metrics describe the system aspects at a specific point in time and are collected at regular intervals into a time-series database. The metrics explorer feature in the Azure portal provides visibility into the status of the system through charts plotted over time.
  • Logs: Include more detailed data organized as records, encompassing events, traces, performance information, and more. Logs are used for querying and analysis through tools like Log Analytics.

Azure Monitor is capable of monitoring your applications and their dependencies, VM status, Kubernetes and container health, and more. As we just mentioned, Log Analytics is the built-in tool for log queries and interactive analysis of the outcomes, which can be visualized using dashboards. It helps correlate findings across your Azure landscape and drill down deeper for root-cause analysis. 

When using Azure Monitor, you will be charged for data ingestion and data retention, according to the pricing model you choose. The Capacity Reservation model costs up to 25% less than the Pay-As-You-Go model for data ingestion of 500 GB/day. Pay-As-You-Go rates start with a free unit of 5 GB per billing account per month and $2.30 per GB for the remaining capacity of data ingested. Data retention in Log Analytics is free for the first 31 days and costs $0.10/GB/month after that. In addition to data ingestion and data retention, there are additional costs for using various Application Insights features, notifications, custom metrics, and so on.

Application Monitoring

When hosting applications in Azure, you can choose between IaaS and PaaS options. Azure Monitor can provide comprehensive monitoring for both of them. 

Azure Infrastructure Monitoring (IaaS) with Azure Monitor

When applications are hosted in VMs or VM scale sets, you can use Azure Monitor to collect monitoring data from the VM host, guest OS, and hosted workloads. For VM hosts, platform metrics that give insights into resource health and performance are collected automatically.  

For the guest OS, you need an agent to collect and send the data to Azure Monitor. To collect different types of data, there are multiple agents available for Windows and Linux machines: Log Analytics agent, Dependency agent, Azure Diagnostic extension, and Telegraf agent, to name a few. The data collected includes information about performance, processes, and their dependencies.

Additionally, you can use the VM insights feature to monitor the performance and availability of applications deployed to Azure VMs, VM scale sets, hybrid machines connected to Azure Arc, and machines hosted on-premises or in other cloud environments. The collected data is stored in Azure Monitor Logs, which helps aggregate data over time and analyze trends. The VM insights feature is not enabled by default. To enable it, you need a Log Analytics workspace (either new or existing). Also, the Log Analytics agent and Dependency agent must be installed on the target machines being monitored.

The cost of VM monitoring includes data ingestion charges, health monitoring charges ($0.10 per monitored metric/month), alert rule charges (based on type and number of signals), and notification charges (based on the alert type being used). 

Azure Application Performance Monitoring with Application Insights

Application Insights is the performance management service provided by Azure Monitor for applications. It can be used to monitor the live performance, dependencies, and usage patterns of your applications. It can also help detect anomalies in the application and use deep analytics features to correlate and investigate them. Application Insights can be directly enabled from Azure Portal for PaaS services like Azure App Service. You can also use Application Insights’ instrumentation package to integrate all of your applications (hosted on-premises or elsewhere), thereby gaining a unified view of your application estate performance statistics.

Figure 2: High-level overview of how applications are integrated with Application Insights (Source: Microsoft)

Application Insights monitors telemetry information like request rates, dependency rates, failure rates, user/session counts, exceptions, load performance, page views, and more. All of this will give you information about the performance and usage of your application. Additionally, Application Insights can monitor performance counters from operating systems, host diagnostics data, custom application events, and diagnostics trace logs from applications in order to deliver end-to-end visibility of the application stack. The telemetry data collected from various sources is integrated into Azure Monitor for unified visibility and diagnosis.

Azure Container Monitoring using Container Insights

Azure’s Container insights feature helps you monitor container hosting platforms like AKS, ACS, AKS Engine, self-hosted Kubernetes clusters, Azure Red Hat OpenShift (preview), and Azure-Arc-enabled Kubernetes clusters (preview). It provides critical health and performance information about controllers, nodes, and containers by calling the Kubernetes Metrics API. 

The container runtimes supported by Container insights include Docker and Moby, as well as CRI-compatible runtimes like CRI-O and containerd. In the backend, a containerized version of the Log Analytics agent is used to collect metrics and logs from Linux platforms. Container insights provides visibility into memory and processor utilization of containers, along with the host utilization statistics. It also helps correlate performance issues by monitoring cluster behavior under various loads. 

Container insights is enabled through  the Azure portal, through Azure PowerShell/CLI, or by using Terraform automation. In addition to performance metrics, the logs from containers are collected and made available in Azure Monitor through Log Analytics. You can create dashboards for visualization of the collected data to get additional insights and derive intelligence from the noise.

Lastly, it is worth mentioning that container monitoring is not as straightforward as other cloud components. There are multiple layers involved, and configuration drifts and non-standard configurations can slip in, especially when the container deployment is spread across multiple environments. This can lead to far-reaching consequences. In addition to native monitoring tools, you also need a comprehensive Cloud Security Posture Management (CSPM) solution to provide better visibility into such deployments. 

Azure Log Analytics: Query, Visualize & Alert

Log Analytics is used to query logs collected and consolidated by Azure Monitor. The queries should be written in Kusto query language (KQL). There are many pre-built queries available in Log Analytics that can help you get information on your application performance, such as response-time trends, operations performance, and failed requests. You can also create custom queries using KQL and save them. Azure Monitor allows you to create alert rules based on the log queries that get triggered when the defined thresholds are exceeded. The alerts can be configured for auto-remediation through Azure runbooks or Logic Apps.

You can use Log Analytics dashboards to visualize the outcome of saved log analytics queries and correlated data from different sources from a single pane. For example, log queries or custom queries related to performance can be pinned to the dashboard for trend analysis. The visualization can be done as a pie chart, column chart, area chart, scatter chart, or time chart. Dashboards can also be shared across multiple users so that they can be accessed by operations or application team members. 

Azure Monitor workbooks are another option for analyzing data and creating visual reports. Workbooks can be written to query different kinds of monitoring data, such as logs, metrics, and Azure resource health. The data can then be transformed to provide visualizations about overall application and component health. 

Conclusion: Why Azure-Native Monitoring Tools Lead

Azure Monitor provides a wide-ranging portfolio of services to monitor end-to-end application stack health and performance. Compared to third-party tools, native tools involve less dependency management and have organic integration. However, when it comes to environments deployed across multiple platforms, it’s difficult to get the same level of visibility and control with native monitoring tools. 

Gain Unified Asset Intelligence with Opscompass

Opscompass’s Software Asset Intelligence platform gives you a single pane of glass for hybrid and multi-cloud monitoring. Instantly detect configuration drift, continuous compliance violations (CIS, FedRAMP, NIST, Oracle frameworks), and cost-inefficiencies across Azure, AWS, GCP, OCI, VMware, and on-prem environments. AI-driven Smart Summaries surface critical risk and cost anomalies—whether it’s a license over-provision, unexpected configuration change, or security gap—so DBAs, IT Managers, and Security Teams can act fast.

Ready to see your entire environment through an Asset Intelligence lens?
Explore Opscompass Asset Intelligence

Frequently Asked Questions

What is Azure Monitor and what features does it offer?

Azure Monitor unifies metrics and logs collection from Azure resources, offering built-in dashboards, alerts, and integration with Application Insights for end-to-end monitoring.

How is Azure Monitor priced?

You’re charged for data ingestion (first 5 GB free, then $2.30/GB) and data retention (31 days free, then $0.10/GB/month). Capacity Reservation can cut ingestion costs by up to 25%.

What is the difference between Azure Monitor and Application Insights?

Azure Monitor covers infrastructure and platform metrics/logs, while Application Insights focuses on application performance, exception tracking, and user-centric telemetry.

How do I monitor containers in Azure using Azure Monitor?

Use Azure Container Insights to collect Kubernetes Metrics API data and Log Analytics agent logs, giving you container-level health, performance, and host utilization visibility.

How can I query, visualize, and alert on Azure Monitor data?

Write Kusto Query Language (KQL) queries in Log Analytics, pin results to dashboards, and create alert rules that trigger actions like Azure runbooks or Logic Apps.

Table of Contents

Related Posts