Overview

Information in this article is related to using CloudMonix for monitoring Azure Express Routes.


The article covers the following topics:

  • common use cases where CloudMonix can help with monitoring and automation

  • what is needed to connect to and monitor Azure Express Routes

  • what metrics can be tracked, visualized and monitored

  • what automated actions can be executed by CloudMonix


Why use CloudMonix for Azure Express Routes?

Popular usages of CloudMonix include the following examples:

  • Tracking ingress/egress rates across the circuit and per connection 

  • Monitoring individual connections’ traffic statistics

  • Alerting on resource outage


Configuration

CloudMonix will use Azure Monitoring API for monitoring Azure Express Routes. Both Classic and v2/ARM API resources are supported, however, there tend to be quite big delays in metrics values reported by Azure Management API for Classic resources. When monitoring Classic Express Routes keep in mind that information may be outdated.


Azure Express Routes monitoring can be configured either via Setup Wizard or by using the “Add New” button in the dashboard. It’s highly recommended to use Setup Wizard when configuring permissions for the first time, as that will simplify authorization. Learn more about authorizing with Setup Wizard here.


Metrics


Every diagnostic data point that CloudMonix retrieves from the monitored resource is considered a metric in CloudMonix. Refer to the Metrics article to learn more about metrics in general.


CloudMonix provides a default template for monitoring Azure Express Route.



The metrics can be added, removed and customized in the Metrics tab in the resource configuration dialog.


Built-in Metrics

ResourceStatus

Identifies the last state of the monitored resource. This is a critical metric that is captured for most types of resources that CloudMonix tracks. It is used for Uptime reports and should not be removed.

  • Data Type: string

  • Possible values: Ready, Down, Unknown

  • Included in sample profile: yes, tracked in both templates as a metric called State

  • Included in default alerts: yes, in an alert called ResourceOutage (Error): Raises an alert if ExpressRoute circuit state is no longer Ready sustained for at least 2 min.

Statuses are determined according to the following rules:

  • Ready - circuit state is “Enabled” and provisioning state is “Provisioned”

  • Down - circuit state is other than “Enabled” or provisioning state is other than “Provisioned”

  • Unknown - can’t connect to the resource to capture metrics data


AzureExpressRouteCircuitEgress

Tracks an overall Egress across all connections in bytes. 

  • Data Type: long

  • Included in sample profile: yes, tracked as a metric called Egress

  • Included in default alerts: no


AzureExpressRouteCircuitEgressRate

Tracks an approximate Egress rate across all connections in bytes/sec.

  • Data Type: double

  • Calculated by taking the delta of two different Egress values within the last hour

  • Included in sample profile:  yes, tracked as a metric called EgressRate

  • Included in default alerts: no


AzureExpressRouteCircuitIngress

Tracks an overall Ingress across all connections in bytes.

  • Data Type: long

  • Included in sample profile: yes, tracked as a metric called Ingress

  • Included in default alerts: no


AzureExpressRouteCircuitIngressRate

Tracks an approximate Ingress rate across all connections in bytes/sec.

  • Data Type: double

  • Calculated by taking the delta of two different Ingress values within the last hour

  • Included in sample profile:  yes, tracked as a metric called IngressRate

  • Included in default alerts: no


AzureExpressRouteCircuitStates

Tracks a circuit and a provisioning provider states.

  • Data Type: an array of objects with the following properties:

    • State (string): possible values are “Circuit state” or “Provider provisioning state”

    • Value (string): state of the circuit or provisioning provider

      • possible values for circuits are: Disabled, Disabling, Enabled, Enabling, 

      • possible values for providers are: Provisioned, Provisioning, Provisioned, Deprovisioning.

    • Timestamp (DateTime): time when the state was obtained

  • Can be accessed only through aggregation using Expressions, see Evaluating data in sets\arrays (advanced) section to learn more.

  • Included in sample profile: yes, tracked as a metric called CircuitDetails

  • Included in default alerts: no


AzureExpressRouteConnectionEgress

Tracks an Egress for a specific connection in bytes.

  • Data Type: long

  • Requires selecting a connection: primary or secondary

  • Included in sample profile: yes, tracked as metrics called PrimaryEgress and SecondaryEgress

  • Included in default alerts: no


AzureExpressRouteConnectionEgressRate

Tracks an approximate Egress rate for a specific connection in bytes/sec. Calculated by taking the delta between current and previous Egress measurements.

  • Data Type: double

  • Calculated by taking the delta of two different Egress values within the last hour

  • Requires selecting a connection: primary or secondary

  • Included in sample profile: yes, tracked as metrics called PrimaryEgressRate and SecondaryEgressRate

  • Included in default alerts: no


AzureExpressRouteConnectionIngress

Tracks an Ingress for a specific connection in bytes.

  • Data Type: long

  • Requires selecting a connection: primary or secondary

  • Included in sample profile: yes, tracked as metrics called PrimaryIngress and SecondaryIngress

  • Included in default alerts: no


AzureExpressRouteConnectionIngressRate

Tracks an approximate Ingress rate for a specific connection in bytes/sec. Calculated by taking the delta between current and previous Ingress measurements.

  • Data Type: double

  • Calculated by taking the delta of two different Ingress values within the last hour

  • Requires selecting a connection: primary or secondary

  • Included in sample profile: yes, tracked as metrics called PrimaryIngressRate and SecondaryIngressRate

  • Included in default alerts: no 


AzureExpressRouteConnectionsList

Tracks a list of all connections and their associated properties.

  • Data Type: an array of objects with the following properties:

    • Connection (string): connection name

    • Egress (long): Egress for a specific connection in bytes

    • EgressRateBytesPerSec (double): an approximate Egress rate for a specific connection in bytes/sec

    • Ingress (long):  Ingress for a specific connection in bytes

    • IngressRateBytesPerSec (double): an approximate Ingress rate for a specific connection in bytes/sec

  • Can be accessed only through aggregation using Expressions, see Evaluating data in sets\arrays (advanced) section to learn more.

  • Included in sample profile: yes, tracked as a metric called ConnectionList

  • Included in default alerts: no


Alerts


Users can create alerts based on changes in any value tracked by CloudMonix (including custom metrics). Each resource template includes alerts which are suitable for a given resource. The predefined alerts for Azure Express Routes are listed in the Metrics section. Refer to the Alerts article to learn more about alerts in general.


Alerts are available during the Trial period or in Professional and Ultimate plans only.