Azure Integration
Introduction
Middleware’s Azure Integration connects to Microsoft Azure accounts to enable useres to monitor and visualize key performance metrics across a range of Azure services. This integration currently supports Virtual Machine Scale Sets, Container Service, Load Balancers, and Blob Storage.
With this integration, users can configure which services to monitor, collect detailed metrics, and visualize the data using Middleware's built-in dashboard tools, or build custom alerts and dashboards of their own.
Integration Setup
Azure Configuration
To integrate Azure with Middleware, you must first complete the following steps in the Azure Portal:
1 Create an App Registration
Navigate to App Registrations from Azure Services or use the search box.
Click New Registration.
Enter "Middleware Auth" as the name for the App Registration.
Next, Select "Accounts in this organizational directory only (Middleware - Single tenant)" in the Supported account types section.
Click Register.
2 Assign 'Monitoring Reader' permissions to the Application
To assign the 'Monitoring Reader' permissions, navigate to Subscriptions for a single subscription level, or go to Management Groups to assign permission across multiple subscriptions. Assigning permissions at the Management Group level provides access to any new subscriptions added later.
Select the subscription you wish to monitor.
Go to Access control (IAM) in the Subscription menu and select Add role assignment from Add menu.
In the Role tab, select Monitoring Reader and click Next.
In the Members tab, click Select members, choose the Middleware Auth and click Review + assign.
Middleware Configuration
After completing the App Registration, configure the integration on the Middleware platform using details from the App Registration:
1 Copy App Registration Details
After assigning the 'Monitoring Reader' permissions, copy the Subscription ID.
Copy Application (client) ID and Directory (tenant) ID from the Middleware Auth App Registration.
Paste these three values into the relevant fields on the Azure Integration form in Middleware.
To generate Client Secret, go to Manage > Certificates and secrets.
Click New client secret, enter "middlewareClientSecret" as the Description and select an expiration range.
After adding the Client Secret, copy the Value and paste it into the Client Secret field in Middleware.
2 Configuring Metric Collection
Once details are saved, proceed to the Configure Metric Collection step. Here, you can select which Azure integrations to monitor.
Once configured, click Save Configuration to finalize setup and proceed to the Dashboard Builder to find the relevant dashboard. Newly configured integrations take a few minutes to begin displaying data.
Supported Azure Integrations
We currently collect metrics from the following Azure Integrations: Azure VM Scale Set, Azure Container Service, Azure Load Balancer, and Azure Blob Storage. Additional Azure integrations are continuously added and will be released upon completion.
For specific needs, please contact our support team for prioritization.
Accessing Data
To begin viewing metrics or creating new widgets, visit the Dashboards page.
Metrics Collected
Metrics Name | Description |
---|---|
azure.compute_virtualmachinescalesets.available_memory_bytes | Available Memory Bytes (Preview) |
azure.compute_virtualmachinescalesets.cpu_credits_consumed | CPU Credits Consumed |
azure.compute_virtualmachinescalesets.cpu_credits_remaining | CPU Credits Remaining |
azure.compute_virtualmachinescalesets.data_disk_bandwidth_consumed_percentage | Data Disk Bandwidth Consumed Percentage |
azure.compute_virtualmachinescalesets.data_disk_iops_consumed_percentage | Data Disk IOPS Consumed Percentage |
azure.compute_virtualmachinescalesets.data_disk_latency | Data Disk Latency (Preview) |
azure.compute_virtualmachinescalesets.data_disk_max_burst_bandwidth | Data Disk Max Burst Bandwidth |
azure.compute_virtualmachinescalesets.data_disk_max_burst_iops | Data Disk Max Burst IOPS |
azure.compute_virtualmachinescalesets.data_disk_queue_depth | Data Disk Queue Depth |
azure.compute_virtualmachinescalesets.data_disk_read_bytes_sec | Data Disk Read Bytes/Sec |
azure.compute_virtualmachinescalesets.data_disk_read_operations_sec | Data Disk Read Operations/Sec |
azure.compute_virtualmachinescalesets.data_disk_target_bandwidth | Data Disk Target Bandwidth |
azure.compute_virtualmachinescalesets.data_disk_target_iops | Data Disk Target IOPS |
azure.compute_virtualmachinescalesets.data_disk_used_burst_bps_credits_percentage | Data Disk Used Burst BPS Credits Percentage |
azure.compute_virtualmachinescalesets.data_disk_used_burst_io_credits_percentage | Data Disk Used Burst IO Credits Percentage |
azure.compute_virtualmachinescalesets.data_disk_write_bytes_sec | Data Disk Write Bytes/Sec |
azure.compute_virtualmachinescalesets.data_disk_write_operations_sec | Data Disk Write Operations/Sec |
azure.compute_virtualmachinescalesets.disk_read_bytes | Disk Read Bytes |
azure.compute_virtualmachinescalesets.disk_read_operations_sec | Disk Read Operations/Sec |
azure.compute_virtualmachinescalesets.disk_write_bytes | Disk Write Bytes |
azure.compute_virtualmachinescalesets.disk_write_operations_sec | Disk Write Operations/Sec |
azure.compute_virtualmachinescalesets.inbound_flows | Inbound Flows |
azure.compute_virtualmachinescalesets.inbound_flows_maximum_creation_rate | Inbound Flows Maximum Creation Rate |
azure.compute_virtualmachinescalesets.network_in_total | Network In Total |
azure.compute_virtualmachinescalesets.network_out_total | Network Out Total |
azure.compute_virtualmachinescalesets.os_disk_bandwidth_consumed_percentage | OS Disk Bandwidth Consumed Percentage |
azure.compute_virtualmachinescalesets.os_disk_iops_consumed_percentage | OS Disk IOPS Consumed Percentage |
azure.compute_virtualmachinescalesets.os_disk_latency | OS Disk Latency (Preview) |
azure.compute_virtualmachinescalesets.os_disk_max_burst_bandwidth | OS Disk Max Burst Bandwidth |
azure.compute_virtualmachinescalesets.os_disk_max_burst_iops | OS Disk Max Burst IOPS |
azure.compute_virtualmachinescalesets.os_disk_queue_depth | OS Disk Queue Depth |
azure.compute_virtualmachinescalesets.os_disk_read_bytes_sec | OS Disk Read Bytes/Sec |
azure.compute_virtualmachinescalesets.os_disk_read_operations_sec | OS Disk Read Operations/Sec |
azure.compute_virtualmachinescalesets.os_disk_target_bandwidth | OS Disk Target Bandwidth |
azure.compute_virtualmachinescalesets.os_disk_target_iops | OS Disk Target IOPS |
azure.compute_virtualmachinescalesets.os_disk_used_burst_bps_credits_percentage | OS Disk Used Burst BPS Credits Percentage |
azure.compute_virtualmachinescalesets.os_disk_used_burst_io_credits_percentage | OS Disk Used Burst IO Credits Percentage |
azure.compute_virtualmachinescalesets.os_disk_write_bytes_sec | OS Disk Write Bytes/Sec |
azure.compute_virtualmachinescalesets.os_disk_write_operations_sec | OS Disk Write Operations/Sec |
azure.compute_virtualmachinescalesets.outbound_flows | Outbound Flows |
azure.compute_virtualmachinescalesets.outbound_flows_maximum_creation_rate | Outbound Flows Maximum Creation Rate |
azure.compute_virtualmachinescalesets.percentage_cpu | Percentage CPU |
azure.compute_virtualmachinescalesets.temp_disk_latency | Temp Disk Latency (Preview) |
azure.compute_virtualmachinescalesets.temp_disk_queue_depth | Temp Disk Queue Depth |
azure.compute_virtualmachinescalesets.temp_disk_read_bytes_sec | Temp Disk Read Bytes/Sec |
azure.compute_virtualmachinescalesets.temp_disk_read_operations_sec | Temp Disk Read Operations/Sec |
azure.compute_virtualmachinescalesets.temp_disk_write_bytes_sec | Temp Disk Write Bytes/Sec |
azure.compute_virtualmachinescalesets.temp_disk_write_operations_sec | Temp Disk Write Operations/Sec |
azure.compute_virtualmachinescalesets.vm_availability_metric | VM Availability Metric (Preview) |
azure.compute_virtualmachinescalesets.vm_cached_bandwidth_consumedcentage | VM Cached Bandwidth Consumed Percentage |
azure.compute_virtualmachinescalesets.vm_cached_iops_consumed_percentage | VM Cached IOPS Consumed Percentage |
azure.compute_virtualmachinescalesets.vm_cached_used_burst_bps_credits_percentage | VM Cached Used Burst BPS Credits Percentage |
azure.compute_virtualmachinescalesets.vm_cached_used_burst_io_credits_percentage | VM Cached Used Burst IO Credits Percentage |
azure.compute_virtualmachinescalesets.vm_uncached_bandwidth_consumed_percentage | VM Uncached Bandwidth Consumed Percentage |
azure.compute_virtualmachinescalesets.vm_uncached_iops_consumed_percentage | VM Uncached IOPS Consumed Percentage |
azure.compute_virtualmachinescalesets.vm_uncached_used_burst_bps_credits_percentage | VM Uncached Used Burst BPS Credits Percentage |
azure.compute_virtualmachinescalesets.vm_uncached_used_burst_io_credits_percentage | VM Uncached Used Burst IO Credits Percentage |
Metrics Name | Description |
---|---|
azure.containerservice_managedclusters.apiserver_current_inflight_requests | Inflight Requests |
azure.containerservice_managedclusters.cluster_autoscaler_cluster_safe_to_autoscale | Cluster Health |
azure.containerservice_managedclusters.cluster_autoscaler_scale_down_in_cooldown | Scale Down Cooldown |
azure.containerservice_managedclusters.cluster_autoscaler_unneeded_nodes_count | Unneeded Nodes |
azure.containerservice_managedclusters.cluster_autoscaler_unschedulable_pods_count | Unschedulable Pods |
azure.containerservice_managedclusters.kube_node_status_allocatable_cpu_cores | Total number of available cpu cores in a managed cluster |
azure.containerservice_managedclusters.kube_node_status_allocatable_memory_bytes | Total amount of available memory in a managed cluster |
azure.containerservice_managedclusters.kube_node_status_condition | Statuses for various node conditions |
azure.containerservice_managedclusters.kube_pod_status_phase | Number of pods by phase |
azure.containerservice_managedclusters.kube_pod_status_ready | Number of pods in Ready state |
azure.containerservice_managedclusters.node_cpu_usage_millicores | Aggregated measurement of CPU utilization in millicores across the cluster |
azure.containerservice_managedclusters.node_cpu_usage_percentage | Aggregated average CPU utilization measured in percentage across the cluster |
azure.containerservice_managedclusters.node_disk_usage_bytes | Disk space used in bytes by device |
azure.containerservice_managedclusters.node_disk_usage_percentage | Disk space used in percent by device |
azure.containerservice_managedclusters.node_memory_rss_bytes | Container RSS memory used in bytes |
azure.containerservice_managedclusters.node_memory_rss_percentage | Container RSS memory used in percent |
azure.containerservice_managedclusters.node_memory_working_set_bytes | Container working set memory used in bytes |
azure.containerservice_managedclusters.node_memory_working_set_percentage | Container working set memory used in percent |
azure.containerservice_managedclusters.node_network_in_bytes | Network received bytes |
azure.containerservice_managedclusters.node_network_out_bytes | Network transmitted bytes |
Metrics Name | Description |
---|---|
azure.network_loadbalancers.allocated_snat_ports | Allocated SNAT Ports |
azure.network_loadbalancers.byte_count | Byte Count |
azure.network_loadbalancers.dip_availability | Health Probe Status |
azure.network_loadbalancers.global_backend_availability | Health Probe Status |
azure.network_loadbalancers.packet_count | Packet Count |
azure.network_loadbalancers.snat_connection_count | SNAT Connection Count |
azure.network_loadbalancers.syn_count | SYN Count |
azure.network_loadbalancers.used_snat_ports | Used SNAT Ports |
azure.network_loadbalancers.vip_availability | Data Path Availability |
Metrics Name | Description |
---|---|
azure.storage_storageaccounts_blobservices.availability | Availability |
azure.storage_storageaccounts_blobservices.blob_capacity | Blob Capacity |
azure.storage_storageaccounts_blobservices.blob_count | Blob Count |
azure.storage_storageaccounts_blobservices.blob_provisioned_size | Blob Provisioned Size |
azure.storage_storageaccounts_blobservices.container_count | Blob Container Count |
azure.storage_storageaccounts_blobservices.egress | Egress |
azure.storage_storageaccounts_blobservices.index_capacity | Index Capacity |
azure.storage_storageaccounts_blobservices.ingress | Ingress |
azure.storage_storageaccounts_blobservices.success_e2e_latency | Success E2E Latency |
azure.storage_storageaccounts_blobservices.success_server_latency | Success Server Latency |
azure.storage_storageaccounts_blobservices.transactions | Transactions |
Need assistance or want to learn more about Middleware? Contact our support team in Slack.