Azure Monitor
You can’t control what you can’t see.
Azure Monitor is an included service that provides actionable insights into the health, availability, and performance of Azure and on-premises environments by collecting and analyzing logs and metrics (telemetry). It allows you to find and fix problems faster, optimize your workload’s performance, and then provide actions to remediate and alert; it provides all these insights from within the portal.
Azure Monitor collects resources and platform data from the following data sources:
- PaaS resources such as applications and databases
- IaaS resources, such as VMs, containers, virtual desktops, databases, storage, and many more
- On-premises resources
With Azure Monitor, you can create alerts that notify somebody, such as an administrator or resource owner, when certain conditions are triggered. This could be when a resource exceeds a set threshold, when a resource is stopped, such as a VM, or when a resource is deleted, such as a storage account. The following diagram aims to visualize the Azure Monitor service and its three core elements; that is, data sources, data stores, and data functions:
Figure 6.10 – Azure Monitor components architecture
Two fundamental types of data are used by the Azure Monitor service; these are log and metric data. The monitoring data sources populate these two data stores; the data functions then consume these data stores. The data stores support near-real-time eventing.
The differences between logs and metrics are as follows:
- Logs: These record the activities of a data source representing some form of action that was taken against the resources. This could include capturing a login, a create/delete/update action, list storage account keys, whether a policy was run, and whether an automation job started; this data is presented in column format and utilizes Log Analytics:
Figure 6.11 – Azure Monitor log data
- Metrics: These record the performance and consumption of a data source and represent the meters and counters being triggered. Metrics can capture the utilization of CPU, memory, network bandwidth, or disk throughput and it is presented in chart format and uses Services Metrics:
Figure 6.12 – Azure Monitor metric data
Azure Monitor, which we looked at in this section, is better together with Azure Health Service, which we will look at in the following section.