Compartir a través de

Application Insights 中的连接字符串

连接字符串指定检测的应用程序应向哪个 Application Insights 资源发送遥测数据。 connection string由多个设置组成,每个设置都表示为键值对,并用分号分隔。 此合并的配置方法消除了对多个代理设置的需求,从而简化了设置过程。

重要

连接字符串包含一个检测密钥(ikey)和应用程序ID。

ikey 是引入服务用于将遥测与特定 Application Insights 资源关联的唯一标识符。 Ikey 唯一标识符不是安全令牌或安全密钥,也不被视为机密。通过添加 ApplicationId 值来增强连接字符串。 此更新是一项新功能,支持自动检测使用 Open Telemetry SDK 的方案。

注意

对检测密钥引入的支持将于 2025 年 3 月 31 日结束。 仪器密钥的接收工作将继续,但我们将不再为该功能提供更新或支持。 转换为连接字符串,以利用新功能

连接字符串功能

  • 可靠性:连接字符串通过删除全局引入终结点上的依赖项提高遥测引入的可靠性。
  • Security:连接字符串允许通过 Microsoft Entra 身份验证使用 Application Insights 进行认证遥测数据引入。
  • Customized 终结点(主权或混合云环境):终结点设置允许将数据传输到特定的 Azure 政府区域。 (请参阅示例。)
  • 隐私(区域终结点):连接字符串通过将数据发送到区域终结点来解决隐私问题,从而确保数据不会离开某一地理区域。

查找连接字符串

您的连接字符串显示在 Application Insights 资源的 Overview 部分中。

显示 Application Insights 概述和连接字符串的截图。

架构

以下部分对架构元素进行了说明。

最大长度

连接的受支持的最大长度为 4,096 个字符。

键值对

一个连接字符串由以分号分隔的键-值对所表示的设置列表组成:key1=value1;key2=value2;key3=value3

提示

本文档介绍了可配置的键值对。 某些键值对不可配置,并且会自动设置,例如 ApplicationId。 如果在环境中观察到这些对,可以安全地忽略它们。

语法

  • InstrumentationKey(例如 00000000-0000-0000-0000-000000000000)。 InstrumentationKey 是必填字段。

  • Authorization(例如 ikey)。 此设置为可选,因为目前我们仅支持 ikey 授权。

  • EndpointSuffix(例如 applicationinsights.azure.cn)。 设置终结点后缀会告知 SDK 要连接到哪个Azure云。 SDK 会为各个服务组装端点的其余部分。

  • 显式终结点。 可以在connection string中显式重写任何服务:

    • IngestionEndpoint(例如 https://dc.applicationinsights.azure.cn
    • LiveEndpoint(例如 https://live.applicationinsights.azure.cn
    • ProfilerEndpoint(例如 https://profiler.monitor.azure.cn
    • SnapshotEndpoint(例如 https://snapshot.monitor.azure.cn

端点模式

<prefix>.<suffix>

  • 前缀:定义某个服务。
  • 后缀:定义公共域名。

有效后缀

  • Azure 应用见解 (applicationinsights.azure.cn)
  • applicationinsights.us

有关详细信息,请参阅需要修改终结点的区域

有效的前缀

连接字符串示例

下面是连接字符串的一些示例。

带有终结点后缀的连接字符串

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

在此示例中,连接字符串 (connection string) 指定由世纪互联运营的 Microsoft Azure 中的终结点后缀,并且 SDK 构造服务终结点。

  • 授权方案默认为“ikey”
  • 仪器密钥:00000000-0000-0000-0000-000000000000
  • 提供的终结点后缀构成了区域服务的统一资源标识符 (URI) 的基础:
    • 引入:https://dc.applicationinsights.azure.cn
    • 实时指标:https://live.applicationinsights.azure.cn
    • .NET探查器:https://profiler.applicationinsights.azure.cn
    • 调试程序:https://snapshot.applicationinsights.azure.cn

带有显式终结点重写的连接字符串

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/;

在此示例中,connection string为每个服务指定显式替代。 SDK 使用所提供的确切终结点而不进行修改:

  • 授权方案默认为“ikey”
  • 仪器密钥:00000000-0000-0000-0000-000000000000
  • 区域服务 URI 基于显式重写值:
    • 引入:https://custom.com:111/
    • 实时指标:https://custom.com:222/
    • .NET探查器:https://custom.com:333/
    • 调试程序:https://custom.com:444/

带有显式区域的连接字符串

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

在此示例中,connection string指定中国东部 2 区域:

  • 授权方案默认为“ikey”
  • 仪器密钥:00000000-0000-0000-0000-000000000000
  • 区域服务 URI 基于显式重写值:
    • 引入:https://chinaeast2.in.applicationinsights.azure.cn/

若要列出可用区域,请在 Azure CLI 中运行以下命令:

az account list-locations -o table

设置连接字符串

我们的所有 OpenTelemetry 产品/服务和以下 SDK 版本均支持连接字符串:

  • .NET v2.12.0
  • JavaScript v2.3.0
  • NodeJS v1.5.0
  • Java v3.1.1

可以在代码中、使用环境变量或配置文件来设置连接字符串。

环境变量

连接字符串:APPLICATIONINSIGHTS_CONNECTION_STRING

使用连接字符串进行身份验证的浏览器遥测

当组织禁用 Application Insights 上的本地身份验证以强制实施Microsoft Entra ID时,由 JavaScript SDK 发送的基于浏览器的遥测无法再直接进行身份验证,并且可能会停止流动。

一种实用模式是通过 Azure API Management(APIM)路由浏览器遥测,该模式:

  • 使用托管标识向 Application Insights 进行身份验证,并
  • 代表您将请求转发到地区数据引入终结点。

通过此设置,你的连接字符串将继续标识目标 Application Insights 资源,而 IngestionEndpoint 将指向你的 APIM 代理 URL。

有关端到端指南(包括 CORS 和 APIM 策略),请参阅:使用 Azure API 管理作为 Application Insights 遥测的代理

代码示例

语言 Classic API OpenTelemetry
ASP.NET Core Application Insights SDK AzMon OTel 发行版
.NET Framework Application Insights SDK AzMon 导出程序
Java N/A Java 代理
JavaScript JavaScript (Web) SDK 加载程序脚本 N/A
Node.js Application Insights SDK AzMon OTel 发行版
Python OpenCensus Python SDK 已停用 AzMon OTel 发行版

后续步骤

查看常见问题(常见问题解答):

在运行时开始使用:

在开发阶段开始使用: