Edit

Migrate App Center telemetry to Azure Monitor (Preview)

This article provides high-level linked guidance for sending mobile app telemetry to Azure Monitor using OpenTelemetry (OTel).

OTel is a vendor-neutral, open-source standard for collecting and exporting telemetry across languages and platforms, including mobile apps.

  • Set up Azure Monitor resources for ingestion.
  • Choose and deploy a telemetry gateway (OpenTelemetry Collector or Azure API Management).
  • Instrument mobile apps with community OpenTelemetry (OTel) SDKs.
  • Analyze telemetry in Azure Monitor and Application Insights.

Important

  • See the Supplemental Terms of Use for Microsoft Azure Previews for legal terms that apply to Azure features that are in beta, preview, or otherwise not yet released into general availability.
  • Microsoft supports Azure Monitor experiences after telemetry reaches Azure Monitor. Microsoft doesn’t provide product support for community OpenTelemetry mobile SDKs or for configuring, operating, or troubleshooting an OpenTelemetry gateway. For details and support links, review Support boundaries and support options.

App Center retirement timeline

  • March 31, 2025: App Center end of support (except Analytics & Diagnostics).
  • March 31, 2027: App Center Analytics & Diagnostics end of support (telemetry ingestion).

Migrate to Azure Monitor

Complete these tasks in order:

  1. Prepare your Azure Monitor destination.
  2. Deploy a telemetry gateway.
  3. Configure the gateway to export telemetry to Azure Monitor.
  4. Remove the App Center SDK from your apps.
  5. Instrument the apps with a community OpenTelemetry SDK.
  6. Configure the apps to send telemetry to your gateway endpoint.
  7. Validate ingestion and update queries, dashboards, and alerts.

Prepare your Azure Monitor destination

Before you deploy a gateway or change your apps, decide where you want to store and analyze the telemetry that your gateway exports.

For this migration, you typically use:

  • A workspace-based Application Insights resource to receive telemetry and provide a connection string for ingestion.
  • The Log Analytics workspace linked to the Application Insights resource to store telemetry for Azure Monitor Logs (KQL), Workbooks, and Alerts.

Note

If you already have a workspace-based Application Insights resource and a linked Log Analytics workspace, reuse those resources for this migration.

Learn Azure Monitor

Use these resources to become familiar with Azure Monitor concepts and terminology:

Create and configure the destination resources

Important

If you plan to ingest OpenTelemetry Protocol (OTLP) signals by using Azure Monitor native OTLP ingestion endpoints (Limited Preview), follow the setup requirements in Ingest OpenTelemetry Protocol signals into Azure Monitor (Limited Preview). This setup can differ from the workspace-based Application Insights and connection string approach, and can include OTLP endpoint URLs and a Data Collection Rule (DCR), along with the related endpoint URL patterns and authentication requirements.

Use this checklist to set up the Azure Monitor side of the migration:

Deploy a telemetry gateway

Deploy a gateway that you manage in your cloud or network environment to receive OpenTelemetry Protocol (OTLP) telemetry from your apps and forward it to Azure Monitor.

Choose one of these gateway options:

Diagram showing mobile apps sending OTLP telemetry to a customer-managed gateway (OpenTelemetry Collector or API Management proxy) that holds Azure Monitor credentials and forwards telemetry to Azure Monitor ingestion.

Key points

  • Mobile apps export OTLP telemetry to a gateway endpoint.
  • Choose one gateway you manage. The gateway holds credentials and forwards telemetry to Azure Monitor ingestion endpoints.
    • Use an OpenTelemetry Collector gateway when you need telemetry-pipeline capabilities such as batching, retries/queueing, sampling, enrichment, filtering/redaction, or routing.
    • Use an Azure API Management (APIM) proxy when you want a simpler operational model and centralized policy enforcement (for example, routing, throttling, header injection), with more limited telemetry-specific processing.
  • After ingestion, use Azure Monitor experiences such as Logs, Application Insights, Workbooks, and Alerts to analyze and act on telemetry.

Configure the gateway to export telemetry to Azure Monitor

Configure an authenticated export from the gateway to Azure Monitor.

If you use an OpenTelemetry Collector gateway, you can start with these community resources:

If you use Microsoft Entra authentication for ingestion, review Microsoft Entra authentication for Application Insights.

If you use Azure API Management as a proxy, review Using Azure API Management as a proxy for Application Insights Telemetry.

Remove the App Center SDK from your apps

Complete these tasks:

  • Identify App Center dependencies and build integrations in your codebase.
  • Remove App Center packages from your dependency manager.
  • Remove App Center initialization code and service-specific API calls.
  • Remove App Center configuration values and any symbol or mapping upload steps from your build or continuous integration (CI) pipeline.
  • Validate that the apps no longer send telemetry to App Center.

Use these resources to locate the relevant SDK and its configuration entry points:

If you need help with these tasks, review Support boundaries and support options.

Instrument apps with a community OpenTelemetry SDK

Select a community OpenTelemetry SDK that matches your platform and framework. Use OpenTelemetry platform guidance to confirm current signal support, supported exporters, and instrumentation options.

Start with these OpenTelemetry resources:

OpenTelemetry (OTel) doesn't provide cross-platform software development kit (SDK) support for .NET Multi-platform App UI (MAUI) or React Native projects. Enable OTel functionality by using a native bridge within the cross-platform framework.

For .NET MAUI:

  • Use native SDK interop by following the official guidance for Interop.
  • Implement custom OTel behavior by using examples in the opentelemetry-dotnet repository.

For React Native:

Configure apps to send telemetry to your gateway endpoint

Send telemetry to the gateway endpoint that you deployed by configuring OpenTelemetry Protocol (OTLP) export in your apps.

Use these OpenTelemetry resources:

Validate ingestion and update analysis

Complete these tasks:

  • Validate that telemetry arrives in your Log Analytics workspace by using Azure Monitor Logs.
  • Identify the tables that contain your OpenTelemetry data, then update saved queries to use those tables and fields.
  • Update workbooks and dashboards to match the data shape that you ingest.
  • Update alert rules to use the updated queries and thresholds.

Use these resources:

Use OpenTelemetry data in Azure Monitor

After ingestion, use Azure Monitor and Application Insights to analyze telemetry.

Query OpenTelemetry tables in Logs

If you ingest OpenTelemetry logs and traces into a Log Analytics workspace, use the OpenTelemetry table references and sample queries as a starting point:

To learn how to run Kusto Query Language (KQL) queries, review the Log Analytics tutorial:

Use Application Insights experiences

Use Application Insights experiences to explore requests, dependencies, failures, and performance trends:

Create workbooks and alerts

Use Azure Monitor features to build custom experiences that replace App Center dashboards and reporting:

Plan for feature differences

App Center and OpenTelemetry use different data models and portal experiences. Plan to rebuild App Center dashboards and segmentation by using Azure Monitor Logs, Workbooks, and Alerts.

Common differences include:

  • App Center Analytics provides a purpose-built experience for event exploration. Azure Monitor uses Logs and Workbooks for event analysis.
  • App Center Diagnostics includes mobile-focused crash grouping and stack trace symbol resolution. Azure Monitor stores exceptions and stack traces, but crash reporting workflows differ from App Center.
  • App Center properties use App Center-specific schemas. OpenTelemetry uses attributes, and the attribute set depends on the SDK and instrumentation libraries that you use.

Support boundaries and support options

Use the links in this section to route issues to the right support channel.

Use community support for App Center SDK removal

Microsoft doesn't provide product support for App Center SDKs. Microsoft doesn't troubleshoot App Center SDK removal, build errors, or runtime behavior related to App Center.

Use these community resources to remove App Center SDKs:

For general community support, use these resources:

Use community support for OpenTelemetry instrumentation and collection

Community support covers the steps that you complete before telemetry reaches Azure Monitor, including:

  • OpenTelemetry SDK selection and instrumentation for mobile apps
  • OpenTelemetry Collector deployment and configuration
  • OpenTelemetry Collector exporter configuration for Azure Monitor

Use these community resources:

Use Microsoft support for Azure Monitor

Microsoft support covers Azure Monitor functionality after telemetry reaches Azure Monitor, including:

  • Ingestion into Azure Monitor when requests reach the Azure Monitor ingestion endpoint.
  • Storage and query in Azure Monitor Logs and Application Insights.
  • Azure Monitor experiences such as Logs, Workbooks, and Alerts.

How to reach out to Microsoft support

  1. In the Azure portal, go to Support + Troubleshooting, search and select Application Insights, then select Next. For more information, see Create an Azure support request.

  2. Under Which resource are you having an issue with?, select your subscription and Application Insights resource from the drop-down menus, then select Next.

  3. Under Are you having one of the following issues?, select None of the above. For Problem type, select Deprecated features and for Problem subtype, select Migrating from App Center to Azure Monitor, then select Next.

    A screenshot of the support pane with the problem type fields highlighted.

  4. Scroll to the bottom of the page and select Contact support. In the Help + Support card, select Create a support request.

    A screenshot showing the 'Help + Support' tile with 'Create a support request' highlighted.

  5. In the New support request pane, complete the following steps:

    1. On the Problem description tab, enter a summary of the issue. For Problem type, select Deprecated features. For Problem subtype, select Migrating from App Center to Azure Monitor. Select Next.

      A screenshot showing the 'New support request' pane.'

    2. On the Recommended solutions tab, review the suggested solutions. If the suggested solutions don't resolve the issue, select Return to support request, then select Next.

    3. On the Additional details tab, provide the date the problem started, a description, any related files, diagnostic log collection permissions, and the required support severity.

    4. On the Review + create tab, review your request. Make any required changes, then select Create.

Next steps