Microsoft Azure Monitor is a tool that collects and analyzes data about the various Azure resources and the infrastructure on which these resources are run. Azure Monitor offers a unified solution to store and analyse operational information. It has a very interactive query language, an advanced analytical system with embedded machine learning capabilities, and can be incorporated with tools used in DevOps, security information, IT services, etc.
This article will dwell into more details of Azure Monitor in the following way:
Check out this YouTube video to learn more about Azure:
What is Azure Monitor?
Azure Monitor is a service that was formed in 2018 by combining Application Insights (an Application Performance Management service) and Log Analytics workspace (a log aggregation and analysis platform). It can collect, analyse and act on data from the cloud and on-premise infrastructure to provide comprehensive solutions for maximising the availability and performance of various applications. The insights provided by the service can be used by the users to act upon issues that persist in their system.
Get certified in Microsoft Azure with this Microsoft Azure Training!
How does Azure Monitor work?
The target resources from where Azure Monitoring collects data are Azure resources, Azure subscriptions, Azure tenants, applications, and operating systems. The data that is collected depends on the type of the resource. The data collected can be a metric, log, or both which is then used for analysis, visualisation, alerts, automation, etc.
The data collected by Azure Monitor are either metrics or logs. The metric data type represents numerical values that signify certain aspects of the target source at different times. The log-based data types are structured, recorded log files relevant to the target system.
Azure monitor metrics measure a resource’s characteristics over a certain period of time. Metrics are numerical data that define properties like CPU usage, memory usage, network usage, etc. These are real-time measurements stored in intervals and can be analysed using the metrics explorer. They are ideally suitable to be visualised as graphs as they are stored in a time-series database.
Events, performance data, traces, etc. related to specific applications are stored in Azure Monitor logs. They are either structured or free from text and can be accessed from the Log Analytics workspace which supports a rich query language for analysis.
What data does it collect?
Azure Monitor can collect data from different sources like applications, services it relies on, operating systems, and down to its own resource offerings. The data includes:
- Application monitoring data: This includes information about the performance and functionality of various applications on different platforms. Application Insights can be used for collecting and analysing these.
- Guest OS monitoring data: This contains information about the operating system on which the application is running which can be aggregated to Azure Monitor from Windows Event logs, performance counters, Syslogs, IIS logs, etc. This can be done on applications running on Azure, on the cloud, or on-premises.
- Azure monitoring resource data: These signify information about the working of various Azure resources. Resource logs and metrics are used for monitoring these telemetry data.
- Azure subscription monitoring data: Information about the management and operation of the subscription as well the proper working of Azure. Service health and Activity Logs are used for obtaining these data.
- Azure tenant monitoring data: Information about services like Azure Active Directory which operates on the tenant level. This contains the history of the sign-in activities and the audit trail of changes made.
- Custom sources: Azure Monitor can also collect data from custom sources like any REST client using the Data Collector API. This can be helpful when custom monitoring scenarios are presented to the users.
Get in-detailed insight with our Azure Tutorial blog. Go and check it out now!
Insights in Azure Monitor
Visualising the data monitored is the most useful way to analyse them. Insights provide tools to customise the Azure monitoring and analyse the data efficiently.
The performance, availability, and usage of various web applications hosted in the cloud or on-premises can be monitored with Application Insights. The powerful data analysis capabilities of Azure monitor can provide deep insights into the application’s operations and can help in diagnosing errors even before the users report them. Applications Insights can be integrated easily into Visual Studio or can be used to support DevOps processes.
Learn more about Azure DevOps from this blog at Azure DevOps Tutorial!
Container insights can monitor the performance of workloads that are deployed in Kubernetes clusters hosted on Azure Kubernetes Service (AKS). Container insights can visualise performance by collecting metrics from nodes, controllers, and containers in Kubernetes using the Metrics API. Container logs are also collected.
VM insights can monitor the Azure virtual machines (VM). The health and performance of Windows and Linux VMs are analysed and the interdependence between various processes is identified. VM insights can be used for performance monitoring and application independencies for VMs hosted on other clouds or on-premises.
Visualising Monitored Data
Data when visualised in charts and tables can be effective for summarising the monitored data and presenting it to the users.
Different types of data can be combined together using the Azure Dashboards. Outputs of log queries and metric charts can be added to the dashboards and these can be shared with other Azure users.
Reports that are visually rich and are powerful in data analysis can be prepared using Workbooks. Data from multiple sources can be combined into a unified interactive experience using workbooks.
Power BI, being a business analytics service can create visualizations across a variety of data sources. It can be an effective tool in making the data available to more people involved in the process.
Response and Integration
A monitoring service should also be able to respond to critical situations based on the data it collects. Azure Monitor can send alerts and can be used to automate tasks based on the data it collects.
Alerts in Azure Monitor Alerts can notify about critical conditions and can start actions to solve the issue. Alerts based on metrics give real-time notifications and based on logs can alert for complex logic between multiple sources.
Action groups, which contain distinct sets of recipients and actions that can be shared across several rules, are used in Azure Monitor alerts rules. Action groups can do things like use webhooks to have alerts start external actions or interface with your ITSM tools, depending on your needs.
Get certified in PowerBI. Check out this course: Power BI Certification!
Autoscale enables you to run the appropriate number of resources to handle the load on your application. It can create rules that leverage Azure Monitor measurements to determine when to add resources automatically when load increases and remove resources that aren’t in use to save money. You can define the minimum and the maximum number of instances, as well as the rationale for increasing and decreasing resources.
Integration and Export
You’ll frequently need to connect Azure Monitor to other systems and create unique solutions that use your Azure monitoring data. Azure Monitor collaborates with other Azure services to enable this integration.
Azure Event Hubs is event ingestion and streaming platform. Any real-time analytics provider or batching/storage adapters can be used to transform and store data. Users can also stream Azure Monitor data to partner SIEM and Azure monitoring products via Event Hub.
Logic Apps is a tool that lets you use workflows to automate operations and business processes across multiple platforms and services. In Azure Monitor, there are activities that read and write metrics and Azure monitor logs. This enables you to create workflows that connect to a range of other systems.
In addition to accessing created alerts, other APIs are available to read and write metrics and logs to and from Azure Monitor. Alerts can also be configured and retrieved. This effectively gives you an infinite number of options for creating bespoke Azure Monitor integrations.
If you are preparing for an Azure interview then go through this list of most asked Azure Interview Questions!
Overall, Microsoft Azure Monitor gives you a unified platform for tracking and monitoring the performance of your apps and systems, as well as the resources they rely on. You may also benefit from custom performance tracking by integrating Azure Monitor with many other systems and using custom log queries.
Hope you found this Azure Monitor Tutorial useful, do let us know in the comments below.
If you have any queries regarding Microsoft Azure, reach out to us at our Azure Community!