Application Insights monitors the availability, performance, and usage of web applications that are hosted either in the cloud or on- premises. It uses Azure Monitor to provide insight into an application’s operations and to diagnose problems without waiting for a user to report it. Application Insights includes connection points to several different development tools and can integrate with Visual Studio to support DevOps processes (see Figure 16.31).
Container Insights
Container Insights is a feature intended to monitor the performance of container workloads. It shows performance visibility by collecting memory and processor metrics from controllers, nodes, and containers. Container logs are also collected (see Figure 16.32).
Container Insights monitors the performance and health of Azure Kubernetes Services or Azure Container Instances. It also collects container logs and inventory data about containers and their images.
VM Insights
VM Insights monitors Azure virtual machines (VMs) by analyzing the performance and health of the Windows and Linux VMs. This includes support for monitoring performance and application dependencies for VMs hosted on- premises or on another cloud provider (see Figure 16.33).
FIGURE 16.33 VM Insights
VM Insights delivers health monitoring for the guest Azure VMs when you’re monitoring Windows and Linux virtual machines. It evaluates the health of major operating system components to determine the current health state. When it determines the guest VM is experiencing an issue, it will generate an alert.
In addition to monitoring data, Azure Monitor allows you to perform other functions to meet your needs:
■ Alerts: Inform you of critical conditions and can attempt to take corrective action. Alert rules (see Figure 16.34) provide near- real- time alerting based on metric numeric values, while rules based on logs allow for complex logic across data from numerous sources. Alert rules use action groups, which contain unique sets of recipients and actions that can be shared across multiple rules.
FIGURE 16.34 Alerts
■ Autoscale: Allows you to have just the right amount of resources needed in order to handle application workload. Azure Monitor allows you to create rules that use metrics collected to determine when resources will be added automatically to handle increases in workload and can save money by removing idle resources. You can specify a minimum and maximum number of instances and the logic for when to increase or decrease resources (see Figure 16.35).
FIGURE 16.35 Autoscale
■ Azure dashboards: Allow you to join different kinds of data, including metrics and logs, into a single pane in the Azure portal (see Figure 16.36).
FIGURE 16.36 Azure Monitor dashboard
■ Workbooks: Provide an area for data analysis with the ability to create visual reports (see Figure 16.37). Workbooks can use multiple data sources across Azure and combine them into one unified experience. You can use the workbooks that are provided with Insights, or you can create your own using a template.
FIGURE 16.37 Workbooks
■ Power BI: A business analytics service that provides interactive visualizations across a wide variety of data sources and makes data available to others either within or outside the organization. You can configure Power BI to import log data automatically from Azure Monitor (see Figure 16.38).
FIGURE 16.38 Power BI
Using Azure Monitor, you can also import and export data to create custom solutions that use your monitoring data to suit your needs:
Azure Event Hubs A streaming platform and event breakdown service that transforms and stores data using any real- time analytics provider. Use Event Hubs to stream Azure Monitor data to partner SIEM and monitoring tools.
Logic Apps A service that allows the automation of tasks and processes using workflows that combine different systems and services. Activities are available that read and write metrics and logs in Azure Monitor, which allows you to build workflows integrating with a variety of other systems.
Multiple APIs These are available to read and write metrics and logs to and from Azure Monitor, as well as access generated alerts. You can also use them to configure and retrieve alerts.