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

  1. Navigate to App Registrations from Azure Services or use the search box.

  2. Click New Registration.

  3. Enter "Middleware Auth" as the name for the App Registration.

  4. Next, Select "Accounts in this organizational directory only (Middleware - Single tenant)" in the Supported account types section.

    Register An App
  5. Click Register.

2 Assign 'Monitoring Reader' permissions to the Application

  1. 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.

    Subscription Levels
  2. Select the subscription you wish to monitor.

  3. Go to Access control (IAM) in the Subscription menu and select Add role assignment from Add menu.

  4. In the Role tab, select Monitoring Reader and click Next.

    Assign Role
  5. In the Members tab, click Select members, choose the Middleware Auth and click Review + assign.

    Assign Member

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

  1. After assigning the 'Monitoring Reader' permissions, copy the Subscription ID.

  2. Copy Application (client) ID and Directory (tenant) ID from the Middleware Auth App Registration.

    App Information
  3. Paste these three values into the relevant fields on the Azure Integration form in Middleware.

    App Registration Info
    App Registration Info
  4. To generate Client Secret, go to Manage > Certificates and secrets.

  5. Click New client secret, enter "middlewareClientSecret" as the Description and select an expiration range.

    New Client Secret
  6. 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.

Metric Collection
Metric Collection

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.

Supported Azure Integrations
Supported Azure Integrations

Accessing Data

To begin viewing metrics or creating new widgets, visit the Dashboards page.

Azure Dashboards
Azure Dashboards

Metrics Collected

Azure VM Scale Set
Azure Container Service
Azure Load Balancer
Azure Blob Storage
Metrics NameDescription
azure.compute_virtualmachinescalesets.available_memory_bytesAvailable Memory Bytes (Preview)
azure.compute_virtualmachinescalesets.cpu_credits_consumedCPU Credits Consumed
azure.compute_virtualmachinescalesets.cpu_credits_remainingCPU Credits Remaining
azure.compute_virtualmachinescalesets.data_disk_bandwidth_consumed_percentageData Disk Bandwidth Consumed Percentage
azure.compute_virtualmachinescalesets.data_disk_iops_consumed_percentageData Disk IOPS Consumed Percentage
azure.compute_virtualmachinescalesets.data_disk_latencyData Disk Latency (Preview)
azure.compute_virtualmachinescalesets.data_disk_max_burst_bandwidthData Disk Max Burst Bandwidth
azure.compute_virtualmachinescalesets.data_disk_max_burst_iopsData Disk Max Burst IOPS
azure.compute_virtualmachinescalesets.data_disk_queue_depthData Disk Queue Depth
azure.compute_virtualmachinescalesets.data_disk_read_bytes_secData Disk Read Bytes/Sec
azure.compute_virtualmachinescalesets.data_disk_read_operations_secData Disk Read Operations/Sec
azure.compute_virtualmachinescalesets.data_disk_target_bandwidthData Disk Target Bandwidth
azure.compute_virtualmachinescalesets.data_disk_target_iopsData Disk Target IOPS
azure.compute_virtualmachinescalesets.data_disk_used_burst_bps_credits_percentageData Disk Used Burst BPS Credits Percentage
azure.compute_virtualmachinescalesets.data_disk_used_burst_io_credits_percentageData Disk Used Burst IO Credits Percentage
azure.compute_virtualmachinescalesets.data_disk_write_bytes_secData Disk Write Bytes/Sec
azure.compute_virtualmachinescalesets.data_disk_write_operations_secData Disk Write Operations/Sec
azure.compute_virtualmachinescalesets.disk_read_bytesDisk Read Bytes
azure.compute_virtualmachinescalesets.disk_read_operations_secDisk Read Operations/Sec
azure.compute_virtualmachinescalesets.disk_write_bytesDisk Write Bytes
azure.compute_virtualmachinescalesets.disk_write_operations_secDisk Write Operations/Sec
azure.compute_virtualmachinescalesets.inbound_flowsInbound Flows
azure.compute_virtualmachinescalesets.inbound_flows_maximum_creation_rateInbound Flows Maximum Creation Rate
azure.compute_virtualmachinescalesets.network_in_totalNetwork In Total
azure.compute_virtualmachinescalesets.network_out_totalNetwork Out Total
azure.compute_virtualmachinescalesets.os_disk_bandwidth_consumed_percentageOS Disk Bandwidth Consumed Percentage
azure.compute_virtualmachinescalesets.os_disk_iops_consumed_percentageOS Disk IOPS Consumed Percentage
azure.compute_virtualmachinescalesets.os_disk_latencyOS Disk Latency (Preview)
azure.compute_virtualmachinescalesets.os_disk_max_burst_bandwidthOS Disk Max Burst Bandwidth
azure.compute_virtualmachinescalesets.os_disk_max_burst_iopsOS Disk Max Burst IOPS
azure.compute_virtualmachinescalesets.os_disk_queue_depthOS Disk Queue Depth
azure.compute_virtualmachinescalesets.os_disk_read_bytes_secOS Disk Read Bytes/Sec
azure.compute_virtualmachinescalesets.os_disk_read_operations_secOS Disk Read Operations/Sec
azure.compute_virtualmachinescalesets.os_disk_target_bandwidthOS Disk Target Bandwidth
azure.compute_virtualmachinescalesets.os_disk_target_iopsOS Disk Target IOPS
azure.compute_virtualmachinescalesets.os_disk_used_burst_bps_credits_percentageOS Disk Used Burst BPS Credits Percentage
azure.compute_virtualmachinescalesets.os_disk_used_burst_io_credits_percentageOS Disk Used Burst IO Credits Percentage
azure.compute_virtualmachinescalesets.os_disk_write_bytes_secOS Disk Write Bytes/Sec
azure.compute_virtualmachinescalesets.os_disk_write_operations_secOS Disk Write Operations/Sec
azure.compute_virtualmachinescalesets.outbound_flowsOutbound Flows
azure.compute_virtualmachinescalesets.outbound_flows_maximum_creation_rateOutbound Flows Maximum Creation Rate
azure.compute_virtualmachinescalesets.percentage_cpuPercentage CPU
azure.compute_virtualmachinescalesets.temp_disk_latencyTemp Disk Latency (Preview)
azure.compute_virtualmachinescalesets.temp_disk_queue_depthTemp Disk Queue Depth
azure.compute_virtualmachinescalesets.temp_disk_read_bytes_secTemp Disk Read Bytes/Sec
azure.compute_virtualmachinescalesets.temp_disk_read_operations_secTemp Disk Read Operations/Sec
azure.compute_virtualmachinescalesets.temp_disk_write_bytes_secTemp Disk Write Bytes/Sec
azure.compute_virtualmachinescalesets.temp_disk_write_operations_secTemp Disk Write Operations/Sec
azure.compute_virtualmachinescalesets.vm_availability_metricVM Availability Metric (Preview)
azure.compute_virtualmachinescalesets.vm_cached_bandwidth_consumedcentageVM Cached Bandwidth Consumed Percentage
azure.compute_virtualmachinescalesets.vm_cached_iops_consumed_percentageVM Cached IOPS Consumed Percentage
azure.compute_virtualmachinescalesets.vm_cached_used_burst_bps_credits_percentageVM Cached Used Burst BPS Credits Percentage
azure.compute_virtualmachinescalesets.vm_cached_used_burst_io_credits_percentageVM Cached Used Burst IO Credits Percentage
azure.compute_virtualmachinescalesets.vm_uncached_bandwidth_consumed_percentageVM Uncached Bandwidth Consumed Percentage
azure.compute_virtualmachinescalesets.vm_uncached_iops_consumed_percentageVM Uncached IOPS Consumed Percentage
azure.compute_virtualmachinescalesets.vm_uncached_used_burst_bps_credits_percentageVM Uncached Used Burst BPS Credits Percentage
azure.compute_virtualmachinescalesets.vm_uncached_used_burst_io_credits_percentageVM Uncached Used Burst IO Credits Percentage
Metrics NameDescription
azure.containerservice_managedclusters.apiserver_current_inflight_requestsInflight Requests
azure.containerservice_managedclusters.cluster_autoscaler_cluster_safe_to_autoscaleCluster Health
azure.containerservice_managedclusters.cluster_autoscaler_scale_down_in_cooldownScale Down Cooldown
azure.containerservice_managedclusters.cluster_autoscaler_unneeded_nodes_countUnneeded Nodes
azure.containerservice_managedclusters.cluster_autoscaler_unschedulable_pods_countUnschedulable Pods
azure.containerservice_managedclusters.kube_node_status_allocatable_cpu_coresTotal number of available cpu cores in a managed cluster
azure.containerservice_managedclusters.kube_node_status_allocatable_memory_bytesTotal amount of available memory in a managed cluster
azure.containerservice_managedclusters.kube_node_status_conditionStatuses for various node conditions
azure.containerservice_managedclusters.kube_pod_status_phaseNumber of pods by phase
azure.containerservice_managedclusters.kube_pod_status_readyNumber of pods in Ready state
azure.containerservice_managedclusters.node_cpu_usage_millicoresAggregated measurement of CPU utilization in millicores across the cluster
azure.containerservice_managedclusters.node_cpu_usage_percentageAggregated average CPU utilization measured in percentage across the cluster
azure.containerservice_managedclusters.node_disk_usage_bytesDisk space used in bytes by device
azure.containerservice_managedclusters.node_disk_usage_percentageDisk space used in percent by device
azure.containerservice_managedclusters.node_memory_rss_bytesContainer RSS memory used in bytes
azure.containerservice_managedclusters.node_memory_rss_percentageContainer RSS memory used in percent
azure.containerservice_managedclusters.node_memory_working_set_bytesContainer working set memory used in bytes
azure.containerservice_managedclusters.node_memory_working_set_percentageContainer working set memory used in percent
azure.containerservice_managedclusters.node_network_in_bytesNetwork received bytes
azure.containerservice_managedclusters.node_network_out_bytesNetwork transmitted bytes
Metrics NameDescription
azure.network_loadbalancers.allocated_snat_portsAllocated SNAT Ports
azure.network_loadbalancers.byte_countByte Count
azure.network_loadbalancers.dip_availabilityHealth Probe Status
azure.network_loadbalancers.global_backend_availabilityHealth Probe Status
azure.network_loadbalancers.packet_countPacket Count
azure.network_loadbalancers.snat_connection_countSNAT Connection Count
azure.network_loadbalancers.syn_countSYN Count
azure.network_loadbalancers.used_snat_portsUsed SNAT Ports
azure.network_loadbalancers.vip_availabilityData Path Availability
Metrics NameDescription
azure.storage_storageaccounts_blobservices.availabilityAvailability
azure.storage_storageaccounts_blobservices.blob_capacityBlob Capacity
azure.storage_storageaccounts_blobservices.blob_countBlob Count
azure.storage_storageaccounts_blobservices.blob_provisioned_sizeBlob Provisioned Size
azure.storage_storageaccounts_blobservices.container_countBlob Container Count
azure.storage_storageaccounts_blobservices.egressEgress
azure.storage_storageaccounts_blobservices.index_capacityIndex Capacity
azure.storage_storageaccounts_blobservices.ingressIngress
azure.storage_storageaccounts_blobservices.success_e2e_latencySuccess E2E Latency
azure.storage_storageaccounts_blobservices.success_server_latencySuccess Server Latency
azure.storage_storageaccounts_blobservices.transactionsTransactions

Need assistance or want to learn more about Middleware? Contact our support team in Slack.