Skip to content

Azure Metrics

The Coralogix Azure Metrics integration offers a simple and easy way to ingest Azure metrics into Coralogix.

Overview

Azure Monitor serves as the observability core within the Azure Cloud ecosystem. It plays a pivotal role by aggregating data from diverse origins, encompassing logs and metrics derived from Azure infrastructure and resources, custom applications, and agents running on virtual machines.

Azure metrics are retrieved from Azure using the Azure Monitor REST API, a widely used API service that allows customers to gain insights into Azure resources.

To collect metrics, a valid Azure Service Principal featuring the Monitoring Reader role is required.

Supported metrics aggregations

This integration does not fetch the full set of metric aggregation types. Only the following aggregations are supported:

  • Minimum
  • Maximum
  • Average
  • Total
  • Count

Authentication methods

The integration supports two authentication methods:

  • App Registration with Client Secret: involves registering an application in your Azure Tenant and generating a client secret.

  • Multi-Tenant App Registration: requires authorizing the App provisioned by Coralogix to access your Azure Tenant. This method eliminates the need for static credentials and is available starting from version 1.3.0.

Prerequisites

  • Azure Monitor must be enabled on your instance

Azure Metrics integration deployment

STEP 1. Access Data Flow > Integrations.

STEP 2. From the Integrations section, select Azure Metrics.

STEP 3. Click ADD NEW.

STEP 4. Pick authentication flow: CLIENT CREDENTIALS/MULTI-TENANT APP.

STEP 5. (This step is only applicable for Client Credentials authentication flow) If you don’t have an App Registration set up in your Azure account, click GO TO AZURE PORTAL and follow that actions:

  • STEP 5.1. Go to App registrations.

  • STEP 5.2. Click New registration, fill the Name, pick Single tenant account type support and click Register.

  • STEP 5.3. Select created registration and click Manage > Certificates & secrets, pick Client secrets and click New client secret. Fill the Description and select the expiration period. Click Add. Secret values will be needed in further steps.

If you want to collect metrics from more than one subscription, you do not need multiple App Registrations. Use this same application and assign it the required permissions in each subscription separately.

Once completed go back to the Coralogix Azure Metrics integration tab and click NEXT.

STEP 6. Define your Settings.

  • Integration Name. A name for your integration (auto-filled with the default name).

  • Application Name. [Optional] Application name, if present, will be the value of the "application name" label of every collected metric (auto-filled with the default name).

  • Application Label Selection. [Optional] select labels that will be used to create the application name. The first label value which matches a metric label will be used as the application name. For example, given three application labels, if the first does not match any metric labels, the value of the second label will be used as the application name.

  • Subsystem Name. [Optional] The name of the subsystem for your application (auto-filled with the default name).

  • Subsystem Label Selection. [Optional] select labels that will be used to create the subsystem name. The first label value which matches a metric label will be used as the subsystem name. For example, given three subsystem labels, if the first does not match any metric labels, the value of the second label will be used as the subsystem name.

  • Tenant ID. Copy and paste from the Azure Application Registration.

  • Client ID. Copy and paste from the Azure Application Registration (only for Client Credentials authentication flow).

  • Client Secret. Copy and paste from the Certificates & Secrets section of the Azure Application Registration (only for Client Credentials authentication flow).

  • Subscription IDs. Either check the Auto Discover Subscriptions checkbox or fill in one or more subscription IDs. The client must have permissions on all manually entered subscription IDs. Enter one subscription ID per line. SHIFT-Enter to go to the next line.

  • Subscription name metric label. If checked, all metrics will have label subscription_name containing the subscription name. Note that this is different from the subscription ID, which is always added as cloud_account_id.

  • If needed, select the ServiceBus statistics, Usage statistics and/or Virtual networks statistics checkboxes to create metrics from:

STEP 7. Click NEXT.

STEP 8. Define Filtering Options.

  • Resource Types Filter / Select Metric Namespace. Select resource types from the dropdown list to filter the list of metric namespaces to show in the next step. If none are selected, all metric namespaces will be available.

  • Resource Name Filter. Specify a Regular Expression (RegEx) to serve as a filter based on the name of the Azure resource being monitored. Doing so sets a rule that specifies the pattern the resource names should follow. This enables you to selectively include or exclude resources based on the defined pattern, helping you focus on the specific subset of resources that meet your monitoring criteria.

STEP 9. Select from the dropdown list which Metric Namespaces to bring into Coralogix. If none are selected, all metric namespaces will be brought in.

STEP 10. (This step is only applicable for Multi-Tenant App authentication flow) Authorize Coralogix Application to access your Azure tenant. After clicking Authorize you will be redirected to authorization screen, review it and click Accept. Close that tab and return to the Coralogix platform.

STEP 11. Apply the Monitoring Reader role to your Service Principal:

  • STEP 11a. Log in to Azure Portal and select the subscription. Version 1.5.0 and higher support multiple subscriptions. If you want to collect metrics from multiple subscriptions from one integration, repeat the following steps for every subscription.

  • STEP 11b. Select Access Control (IAM) from the left menu.

  • STEP 11c. Select Add role assignment from the top left + Add button from the Access Control panel.

  • STEP 11d. In the Add role assignment panel, search for Monitoring Reader and select it.

  • STEP 11e. Under Members, select User, group, or service principal and then click the + Select members link.

  • STEP 11f. In the right-hand panel search for Service Principal associated with the App you registered and add it to the list.

After review and assignment, you should see your App with Monitoring Reader permissions under the Role Assignments tab.

STEP 12. Click Complete.

Limitations

Important: Azure metrics are subject to a platform-level behavior occurring daily at 2:00 AM UTC, where Azure Monitor may reset or drop specific time series.

  • Sequential Processing & Data Gaps: The Coralogix integration scrapes Azure metrics in a continuous, linear sequence. If Azure drops a time series, it will not reappear in Coralogix until that time series becomes active again and a new data point is generated.
  • Lack of Retrospective Backfilling: While Azure may retroactively populate these gaps with "default" values when queried via the Azure portal at a later time, the integration does not re-query historical time windows once they have been processed. This ensures optimal performance and prevents unnecessary API cost overhead.
  • Impact on Observability: Users may observe a temporary data gap in dashboards or alerts starting at 2:00 AM UTC. The duration of this gap depends on when the specific time series next generates data.

This behavior is a result of native data handling within the Azure Metrics API and the sequential nature of metrics ingestion.

Example Scenario

Consider the metric azure_microsoft_cognitive_services_accounts_azure_open_ai_availability_rate_avg. A specific time series for this metric with the label metadata_modelname="gpt-4o-mini" is dropped by Azure at 2:00 AM UTC.

  1. The time series does not send new data until the model is used again at 3:56 AM UTC.
  2. Coralogix, having already queried the 2:00 AM – 3:55 AM window sequentially, will show a gap for that specific gpt-4o-mini time series.
  3. Even if Azure retroactively fills that 2-hour gap with "default" values in their own portal later, Coralogix will not re-ingest that historical window, and the gap will remain in your Coralogix dashboards.

Support

Need help?

Our world-class customer success team is available 24/7 to walk you through your setup and answer any questions that may come up.

Feel free to contact us via our in-app chat or by emailing support@coralogix.com.