Application Insights 正在从全局引入终结点更改为使用连接字符串的区域终结点,这些终结点提供 其他功能。
受此更改影响最大的方案:
防火墙例外或代理重定向 - 如果需要监视 Intranet Web 服务器,我们以前的解决方案要求向配置添加单个服务终结点。 有关详细信息,请参阅是否可以监视 Intranet Web 服务器?。 连接字符串通过将设置简化为单一的方式,降低了工作量,因此是一种更好的选择。 一个简单的前缀和后缀修订,可以自动填充并将所有终结点重定向到相应的服务。
主权或混合云环境 - 用户可以将数据发送到定义的 Azure 政府区域。 使用连接字符串,你可以定义 Intranet 服务器或混合云设置的终结点设置。
本文逐步讲解如何从检测密钥迁移到连接字符串。
先决条件
迁移
转到 Application Insights 资源的“概述”窗格。
查找右侧显示的 连接字符串 。
将鼠标指针悬停在连接字符串上,并选择“复制到剪贴板”图标。
按照 如何设置连接字符串来配置 Application Insights SDK。
重要
不要同时使用连接字符串和仪器密钥。 后一组替代另一组,并可能会导致遥测数据未显示在门户中。 查看 缺少的数据。
大规模迁移
使用环境变量将连接字符串传递给 Application Insights SDK 或代理。
若要通过环境变量设置连接字符串,请将连接字符串的值放入名为
此过程可以在 Azure 部署中自动完成。 例如,以下 Azure 资源管理器模板演示如何在 Azure 应用服务部署中自动包含正确的连接字符串。 请务必包括应用所需的任何其他应用设置:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"appServiceName": {
"type": "string",
"metadata": {
"description": "Name of the App Services resource"
}
},
"appServiceLocation": {
"type": "string",
"metadata": {
"description": "Location to deploy the App Services resource"
}
},
"appInsightsName": {
"type": "string",
"metadata": {
"description": "Name of the existing Application Insights resource to use with this App Service. Expected to be in the same Resource Group."
}
}
},
"resources": [
{
"apiVersion": "2016-03-01",
"name": "[parameters('appServiceName')]",
"type": "microsoft.web/sites",
"___location": "[parameters('appServiceLocation')]",
"properties": {
"siteConfig": {
"appSettings": [
{
"name": "APPLICATIONINSIGHTS_CONNECTION_STRING",
"value": "[reference(concat('microsoft.insights/components/', parameters('appInsightsName')), '2015-05-01').ConnectionString]"
}
]
},
"name": "[parameters('appServiceName')]"
}
}
]
}
支持的 SDK 版本
- .NET 和 .NET Core v2.12.0+
- Java v2.5.1 和 Java 3.0+
- JavaScript v2.3.0+
- NodeJS v1.5.0+
- Python v1.0.0+
故障排除
本部分提供故障排除解决方案。
警报:“转换为使用连接字符串进行数据引入”
按照本文中的 迁移步骤 解决此警报。
缺少数据
- 确认使用的是 受支持的 SDK 版本。 如果在另一个 Azure 产品/服务中使用 Application Insights 集成,请查看其有关如何正确配置连接字符串的文档。
- 请确认不要同时设置仪器密钥和连接字符串。 应从配置中删除仪器化密钥设置。
- 确认连接字符串与 Azure 门户中提供的完全一样。
环境变量不起作用
如果在应用程序代码中对检测密钥进行硬编码,则编程可能在环境变量之前优先。
常见问题
本部分提供常见问题的解答。
我还能在哪里找到连接字符串?
连接字符串也包含在您的 Application Insights 资源的资源管理器资源属性中,字段名称为 ConnectionString
。
这如何影响自动检测?
自动检测场景不受影响。
是否可以将 Microsoft Entra 身份验证与自动化监测配合使用?
无法为自动检测方案启用Microsoft Entra 身份验证。 我们计划在未来解决这种限制。
全球和区域引入之间的区别是什么?
全局引入会将所有遥测数据发送到单个终结点,无论此数据将存储在何处。 区域引入允许为每个区域定义用于数据引入的特定终结点。 此功能可确保数据在处理和存储期间保留在特定区域中。
连接字符串如何影响计费?
计费不受影响。
Microsoft Q&A
将问题发布到 解答论坛。