Monitoring, monitoring, monitoring! In my opinion as a Systems Architect and Developer for the last 20 years I’ve found that we don’t do enough application and resource logging. It’s only when you start working with DevOps and see how the operations team works with and troubleshoots your applications do you as a developer realize that maybe we should have added more logging to help diagnose and provide valuable insights to the state of your application.
Luckily for us when you deploy your application to Azure there is a breadth of monitoring solutions for collecting, analyzing and acting on telemetry from your application and the Azure resources that support them. These services are categorized into the following four sections:
- Deep Application Monitoring
- Deep Infrastructure Monitoring
- Core Monitoring
- Shared Capabilities
Deep Application Monitoring
Application Insights provides deep insights into your application performance, availability and usage, whether you have it hosted in the cloud or on-premises. Application Insights provides the capability to instrument your own applications, adding events to suit your own needs. Application Insights can be configured for new applications or you can start monitoring an existing application in production without any changes by using an agent.
Application Insights provides you with the ability to quickly identify and diagnose issues in production and can also be used for local and/or QA testing.
When leveraging Application Insights you can take advantage of Application Insights Analytics to detect trends, identify usage behaviors, and perform complex queries, and Application Insights is built upon core monitoring services found in Azure.
Deep Infrastructure Monitoring
On the infrastructure side we have Deep Infrastructure Monitoring is made up Log Analytics, Management Solutions, Service Map, and Network Monitoring which is made up by several tools that work together. These services also build upon core monitoring services in Azure that provide powerful analytics.
Core monitoring is standard across Azure resources and require only minimal configuration. Core monitoring provides the necessary telemetry that the premium monitoring services leverage. With Core monitoring we have access to Azure Monitor, Azure Advisor, Azure Service Health, and Activity Logs.
Finally we have the shared monitoring capabilities that the core and deep monitoring services use to provide features like Alerts, Dashboards, and the Metrics Explorer.
Monitoring is an essential role in any application so that you can collect and analyze data to determine the performance, health and availability of your application and the resources that it depends on. Azure provides a very robust set of services from monitoring your application all the way down to the infrastructure it runs on.
Azure Monitoring Docs
Overview of Monitoring in Azure
Explore Azure Monitor to get started with core monitoring metrics and alerts
Explore Application Insights if you’re trying to diagnose problems in your App Service web app
Explore Log Analytics for analyzing collected monitoring data and logs