Edit

Use OpenTelemetry with Azure Monitor (Preview)

Azure Monitor ingests OpenTelemetry (OTel) signals - traces, metrics, and logs - from your applications and platforms. Application Insights orchestrates ingestion into Azure Monitor and provides experiences to explore the data. You can also use the OpenTelemetry Collector to export telemetry to Azure Monitor. After onboarding, use troubleshooting and exploration experiences in Application Insights, work with Prometheus metrics in Dashboards with Grafana, and analyze logs and traces in Log Analytics using OpenTelemetry semantic conventions.

Important

Tip

For a conceptual overview of OpenTelemetry options in Azure Monitor — native OTLP ingestion, the Microsoft OpenTelemetry distro, and end-to-end observability experiences — see OpenTelemetry with Azure Monitor.

Review capabilities

  • Ingest OTel traces, metrics, and logs into Azure Monitor by using Application Insights for data collection and orchestration.
  • Ingest OTel traces, metrics, and logs into Azure Monitor with platform ingestion components such as Azure Monitor Agent (AMA), Data Collection Rules (DCRs), and Data Collection Endpoints (DCEs).
  • Use the OpenTelemetry Collector to export to Azure Monitor ingestion endpoints that Application Insights or your own orchestration provides.
  • Explore application signals in Application Insights, including distributed tracing and diagnostics experiences. Use familiar blades such as Performance, Failures, Search, and Transaction details with OTel data.
  • Use Dashboards with Grafana in the Azure portal for Application Insights data. Start from Azure‑managed dashboards that focus on OpenTelemetry and common application scenarios.
  • Query logs and traces in Log Analytics by using an OpenTelemetry semantic conventions–based schema.

Choose an onboarding path

Select one of the following paths based on where your workloads run.

Monitor applications on Azure Kubernetes Service (AKS) with OpenTelemetry

Enable application monitoring for Azure Kubernetes Service (AKS) and send OTLP telemetry to Azure Monitor. Application Insights orchestrates ingestion and provides investigation experiences.

  • Enable the AKS integration in the cluster’s Monitor settings to add the required Azure Monitor components.
  • Create or select an Application Insights resource with Enable OTLP Support (Preview) and Use managed workspaces set to Yes.
  • Onboard applications per namespace or per deployment by using either:

For more information, see Monitor AKS applications with OpenTelemetry Protocol (OTLP) Preview.

Use the Azure Monitor Agent to send OTLP signals from compute resources outside AKS into Azure Monitor

  • Use Application Insights to orchestrate ingestion into Azure Monitor. Create an Application Insights resource to automatically create the required workspaces (AMW and LAW), and capture the Data Collection Rule (DCR) link and OTLP endpoint URLs for traces, metrics, and logs from the Overview page. Alternatively, orchestrate ingestion manually by creating all required resources.
  • Configure the OTLP exporter to use gRPC on port 4317 for metrics and port 4319 for traces and logs, using Delta temporality and Exponential histogram aggregation for metrics.

For more information, see Ingest OpenTelemetry Protocol signals into Azure Monitor with the Azure Monitor Agent (Preview).

Use the OpenTelemetry Collector to send OTLP signals from compute resources outside AKS into Azure Monitor

  • Use Application Insights to orchestrate ingestion into Azure Monitor. Create an Application Insights resource to automatically create the required workspaces (AMW and LAW), and capture the Data Collection Rule (DCR) link and OTLP endpoint URLs for traces, metrics, and logs from the Overview page. Alternatively, orchestrate ingestion manually by creating all required resources.
  • Export from the OpenTelemetry Collector. Use the Collector contrib distribution and authenticate with Microsoft Entra ID or a managed identity. Use the Collector's Azure Auth extension to authenticate with Microsoft Entra. For details, see the extension README. Configure export to HTTP/Protobuf and set delta temporality and exponential histogram aggregation for metrics.

For more information, see Ingest OpenTelemetry Protocol signals into Azure Monitor with the OpenTelemetry Collector (Preview).

Tip

Endpoint URLs also appear on the Application Insights Overview page when OTLP support is enabled. Use these values in your Collector exporters or SDK configuration.

Use Azure Monitor experiences

After onboarding, use the following experiences to investigate and visualize your telemetry.

Important

Application Insights experiences, including prebuilt dashboards and queries, expect and require OTLP metrics with delta temporality and exponential histogram aggregation.

When you use AKS auto-instrumentation or auto-configuration, Azure Monitor automatically uses environment variables to configure SDKs to export metrics with delta temporality and exponential histograms. You don't need to provide any extra configuration.

For more information, see Metrics Exporters - OTLP.

Use Application Insights troubleshooting and diagnostics

Use Dashboards with Grafana for OpenTelemetry metrics

  • Start from Azure-managed dashboards that cover OpenTelemetry and common Application Insights scenarios. You can customize, copy, or use them as a reference for your own dashboards.
  • Create, edit, and save dashboards as Azure resources and manage access with Azure role-based access control (RBAC). Use Azure Resource Manager (ARM) or Bicep to automate deployments.
  • Use Grafana Explore for ad-hoc queries and add results to dashboards. Prometheus metrics queried here complement the Application Insights experiences.

For more information, see Dashboards with Grafana in Application Insights.

Important

Application Insights experiences, including prebuilt dashboards and queries, expect and require OTLP metrics with delta temporality and exponential histogram aggregation.

Query logs and traces by using OpenTelemetry semantic conventions

  • Use Kusto Query Language (KQL) in Log Analytics to query logs and traces stored by using an OpenTelemetry semantic conventions–based schema.
  • Filter and aggregate by using familiar OpenTelemetry attributes and span kinds.
  • Join metrics, logs, and traces for correlated analysis.

For more information, see OpenTelemetry semantic conventions and Application Insights telemetry data model.

Limitations

When you use OpenTelemetry with Azure Monitor, be aware of the following limitations:

Limitations in AKS auto-instrumentation and auto-configuration

  • Unsupported node pools: Windows and Linux Arm64.
  • OTLP HTTP/protobuf only; JSON payloads and OTLP/gRPC aren't supported.
  • Selected networking scenarios such as Istio mTLS aren't supported.

Limitations for AMA-based ingestion

  • AMA path: Application-to-agent communication over gRPC on local ports.
  • 4317 (gRPC) for metrics.
  • 4319 (gRPC) for logs and traces.
  • Host: localhost.

Limitations for OpenTelemetry collector ingestion

  • Export OTLP over HTTP/protobuf.

Next steps