As Microsoft says, “Monitoring is the act of collecting and analyzing data to determine the performance, health, and availability of your business application and the resources it depends on”.
An effective monitoring strategy will help you understand the detailed operation of the different components of your application and to increase your uptime by proactively notifying you of critical issues so that you can resolve them before they become problems.
Monitoring Azure with Azure's tooling is difficult
Monitoring in Azure is primarily provided by Azure Monitor which provides common stores for storing monitoring data, multiple data sources for collecting data from the different tiers supporting your application and features for analyzing and responding to collected data.
As you can see in the image below, Azure monitor uses metrics and logs from applications, Operating Systems, Azure Resource, Azure Subscription, Azure Tenant and custom resource. These Metrics and log data can be looked at from different places all over Azure, like Application Insights, Metrics Explorer, Log Analytics etc.
Monitoring using Azure is difficult because the data is all over the place. There is no single point of management, and you will have to know exactly where to find metrics, dashboards, views, logs etc.
In Azure, you can use Metrics explorer to analyze collected metrics and plot them on a chart. This way you can track resource performance (such as a VM, website, or logic app) by pinning charts to an Azure dashboard.
When you need to be alarmed on deviations you must configure alert rules that sends a notification when the metric crosses a threshold.
You must manually route metrics to Log Analytics to analyze metric data together with log data and to store metric values for longer than 93 days.
You can also stream metrics to an Event Hub to route them to Azure Stream Analytics or to external systems.
Application data is collected by Application Insights and can be used to provide insights into a particular application or service such as Container Insights, VM Insights, or Resource Group Insights.
You can use the Log Analytics page in the Azure portal to write queries analyzing log data.
Log alert rules have to be configured manually, before sending a notification when the results of the query match a particular result.
Billing metrics are also collected in Azure, but since every service is charged in a different way it is hard to make sense of some of the data.
The billing metrics are exposed at service level.
Overall, monitoring Azure with the out-of-the-box tools from Microsoft is a manual, time consuming and prone to errors. To learn more about how to implement an efficient and automated monitoring of Azure and hybrid IT environments read more here or sign up for the AIMS Community Edition and test it out for yourself.