Connection strings in Application Insights

Connection strings specify to which Application Insights resource your instrumented application should send telemetry data. A connection string is composed of multiple settings, each represented as a key-value pair and separated by semicolons. This consolidated configuration method simplifies the setup process by eliminating the need for multiple proxy settings.

Important

The connection string contains an ikey, which is a unique identifier used by the ingestion service to associate telemetry to a specific Application Insights resource. Ikey unique identifiers aren't security tokens or security keys, and aren't considered secrets.

If you want to protect your Application Insights resource from misuse, the ingestion endpoint provides authenticated telemetry ingestion options based on Microsoft Entra ID.

Note

On March 31, 2025, support for instrumentation key ingestion will end. Instrumentation key ingestion will continue to work, but we'll no longer provide updates or support for the feature. Transition to connection strings to take advantage of new capabilities.

Connection string capabilities

  • Reliability: Connection strings make telemetry ingestion more reliable by removing dependencies on global ingestion endpoints.
  • Security: Connection strings allow authenticated telemetry ingestion by using Microsoft Entra authentication for Application Insights.
  • Customized endpoints (sovereign or hybrid cloud environments): Endpoint settings allow sending data to a specific Azure Government region. (See examples.)
  • Privacy (regional endpoints): Connection strings ease privacy concerns by sending data to regional endpoints, ensuring data doesn't leave a geographic region.

Find your connection string

Your connection string appears in the Overview section of your Application Insights resource.

Screenshot that shows the Application Insights overview and connection string.

Schema

Schema elements are explained in the following sections.

Max length

The connection has a maximum supported length of 4,096 characters.

Key-value pairs

A connection string consists of a list of settings represented as key-value pairs separated by a semicolon: key1=value1;key2=value2;key3=value3

Tip

Configurable key-value pairs are covered in this document. Some key-value pairs are not configurable and are set automatically, such as ApplicationId. These can be safely ignored if they're observed in your environment.

Syntax

  • InstrumentationKey (for example, 00000000-0000-0000-0000-000000000000). InstrumentationKey is a required field.

  • Authorization (for example, ikey). This setting is optional because today we only support ikey authorization.

  • EndpointSuffix (for example, applicationinsights.azure.cn). Setting the endpoint suffix tells the SDK which Azure cloud to connect to. The SDK assembles the rest of the endpoint for individual services.

  • Explicit endpoints. Any service can be explicitly overridden in the connection string:

    • IngestionEndpoint (for example, https://dc.applicationinsights.azure.cn)
    • LiveEndpoint (for example, https://live.applicationinsights.azure.cn)
    • ProfilerEndpoint (for example, https://profiler.monitor.azure.cn)
    • SnapshotEndpoint (for example, https://snapshot.monitor.azure.cn)

Endpoint schema

<prefix>.<suffix>

  • Prefix: Defines a service.
  • Suffix: Defines the common domain name.

Valid suffixes

  • applicationinsights.azure.cn
  • applicationinsights.us

For more information, see Regions that require endpoint modification.

Valid prefixes

Connection string examples

Here are some examples of connection strings.

Connection string with an endpoint suffix

InstrumentationKey=00000000-0000-0000-0000-000000000000;EndpointSuffix=applicationinsights.azure.cn;

In this example, the connection string specifies the endpoint suffix in Microsoft Azure operated by 21Vianet and the SDK constructs service endpoints:

  • Authorization scheme defaults to "ikey"
  • Instrumentation key: 00000000-0000-0000-0000-000000000000
  • The regional service Uniform Resource Identifiers (URIs) are based on the provided endpoint suffix:
    • Ingestion: https://dc.applicationinsights.azure.cn
    • Live metrics: https://live.applicationinsights.azure.cn
    • Profiler: https://profiler.applicationinsights.azure.cn
    • Debugger: https://snapshot.applicationinsights.azure.cn

Connection string with explicit endpoint overrides

InstrumentationKey=00000000-0000-0000-0000-000000000000;IngestionEndpoint=https://custom.com:111/;LiveEndpoint=https://custom.com:222/;ProfilerEndpoint=https://custom.com:333/;SnapshotEndpoint=https://custom.com:444/;

In this example, the connection string specifies explicit overrides for every service. The SDK uses the exact endpoints provided without modification:

  • Authorization scheme defaults to "ikey"
  • Instrumentation key: 00000000-0000-0000-0000-000000000000
  • The regional service URIs are based on the explicit override values:
    • Ingestion: https://custom.com:111/
    • Live metrics: https://custom.com:222/
    • Profiler: https://custom.com:333/
    • Debugger: https://custom.com:444/

Connection string with an explicit region

InstrumentationKey=00000000-0000-0000-0000-000000000000;IngestionEndpoint=https://chinaeast2.in.applicationinsights.azure.cn/

In this example, the connection string specifies the China East 2 region:

  • Authorization scheme defaults to "ikey"
  • Instrumentation key: 00000000-0000-0000-0000-000000000000
  • The regional service URIs are based on the explicit override values:
    • Ingestion: https://chinaeast2.in.applicationinsights.azure.cn/

To list available regions, run the following command in the Azure CLI:

az account list-locations -o table

Set a connection string

All our OpenTelemetry offerings and the following SDK versions onwards support connection strings:

  • .NET v2.12.0
  • JavaScript v2.3.0
  • NodeJS v1.5.0
  • Python v1.0.0

You can set a connection string in code, by using an environment variable, or a configuration file.

Environment variable

Connection string: APPLICATIONINSIGHTS_CONNECTION_STRING

Code samples

Language Classic API OpenTelemetry
ASP.NET Core Application Insights SDK AzMon OTel Distro
.NET Framework Application Insights SDK AzMon Exporter
Java N/A Java agent
JavaScript JavaScript (Web) SDK Loader Script N/A
Node.js Application Insights SDK AzMon OTel Distro
Python OpenCensus Python SDK AzMon OTel Distro

Frequently asked questions

This section provides answers to common questions.

Do new Azure regions require the use of connection strings?

New Azure regions require the use of connection strings instead of instrumentation keys. Connection string identifies the resource that you want to associate with your telemetry data. It also allows you to modify the endpoints your resource uses as a destination for your telemetry. Copy the connection string and add it to your application's code or to an environment variable.

Should I use connection strings or instrumentation keys?

We recommend that you use connection strings instead of instrumentation keys.

Next steps

Get started at runtime with:

Get started at development time with: