你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
当你使用 Application Insights Profiler for .NET 或 Snapshot Debugger 时,默认情况下,应用程序生成的项目将通过公共 Internet 上传到 Azure 存储帐户。 对于这些构件和存储帐户,Microsoft 控制并承担以下费用:
- 处理和分析。
- 静态加密和生存期管理策略。
同时,当你“自带存储”(BYOS) 时,项目将上传到只有你控制和支付以下费用的存储帐户中:
- 静态加密策略和生存期管理策略。
- 网络访问。
备注
如果要启用 Azure 专用链接或客户管理的密钥,则需要 BYOS。
本指南介绍如何:
- 向诊断服务授予对你的存储帐户的访问权限。
- 将存储帐户链接到你的 Application Insights 资源。
- 了解如何访问存储帐户。
先决条件
- 验证你是否在与 Application Insights 资源相同的位置创建了存储帐户。
- 如果启用了专用链接,请允许从你的虚拟网络连接到我们的受信任的 Microsoft 服务。
向诊断服务授予对你的存储帐户的访问权限
BYOS 存储帐户链接到 Application Insights 资源。 首先,通过存储帐户中的Storage Blob Data Contributor
页将 Diagnostic Services Trusted Storage Access
角色授予名为 的 Microsoft Entra 应用程序。
选择“访问控制 (IAM)”。
选择“添加”>“添加角色分配”,打开“添加角色分配”页面。
分配以下角色。
设置 值 角色 存储 Blob 数据参与者 将访问权限分配到 用户、组或服务主体 成员 诊断服务受信任的存储访问 分配后,可以在“角色分配”部分下看到该角色。
备注
如果你还使用了专用链接,则还需要完成一项配置,以允许从你的虚拟网络连接到我们的受信任 Microsoft 服务。 有关详细信息,请参阅存储网络安全文档。
将存储帐户链接到你的 Application Insights 资源
有三个选项可用于为代码级诊断(如 .NET Profiler 和 Snapshot Debugger)配置 BYOS:
- Azure PowerShell cmdlet
- Azure CLI
- Azure 资源管理器模板
在开始之前,请安装 Azure PowerShell 4.2.0 或更高版本。
在 PowerShell 终端中,安装 Application Insights PowerShell 扩展。
Install-Module -Name Az.ApplicationInsights -Force
使用 Azure 帐户订阅登录。
Connect-AzAccount -Subscription "{subscription_id}"
有关如何登录的详细信息,请参阅 Connect-AzAccount 文档。
删除已链接到 Application Insights 资源的任何之前的存储帐户。
模式:
Get-AzApplicationInsights -ResourceGroupName "{resource_group_name}" -Name "{application_insights_name}" | Remove-AzApplicationInsightsLinkedStorageAccount
示例:
Get-AzApplicationInsights -ResourceGroupName "byos-test" -Name "byos-test-westus2-ai" | Remove-AzApplicationInsightsLinkedStorageAccount
将你的存储帐户连接到 Application Insights 资源。
模式:
$storageAccount = Get-AzStorageAccount -ResourceGroupName "{resource_group_name}" -Name "{storage_account_name}" New-AzApplicationInsightsLinkedStorageAccount -Name "{application_insights_name}" -LinkedStorageAccountResourceId $storageAccount.Id
示例:
$storageAccount = Get-AzStorageAccount -ResourceGroupName "byos-test" -Name "byosteststoragewestus2" New-AzApplicationInsightsLinkedStorageAccount -Name "byos-test-westus2-ai" -LinkedStorageAccountResourceId $storageAccount.Id
故障排除
如需有关 BYOS 故障排除的帮助,请参阅专用故障排除文档:
常见问题解答
本部分提供有关为 .NET Profiler 和 Snapshot Debugger 配置 BYOS 的常见问题的解答。
如果我启用了 .NET Profiler/Snapshot Debugger 和 BYOS,我的数据会迁移到我的存储帐户吗?
不会。
BYOS 是否兼容静态加密和客户管理的密钥?
是的。 准确地说,BYOS 是启用 .NET Profiler/Snapshot Debugger 并使用客户管理密钥的必要条件。
BYOS 是否可在与 Internet 隔离的环境中工作?
是的。 BYOS 是隔离网络环境的要求。
客户管理的密钥和专用链接都启用时,BYOS 是否会正常工作?
是的,有可能。
如果我启用了 BYOS,可重新使用诊断服务存储帐户来存储我收集的数据吗?
是的,你可以,但我们目前不支持从你的 BYOS 迁移数据。
启用 BYOS 后,我是否会承担所有相关的存储和网络费用?
是的。
如何访问我的存储帐户?
在虚拟机或 Azure 应用服务中运行的代理会将项目(配置文件、快照和符号)上传到你的帐户中的 Blob 容器。
此过程涉及到联系 .NET Profiler 或 Snapshot Debugger,以获取一个共享访问签名令牌,用于访问存储帐户中的新 Blob。
.NET Profiler 或 Snapshot Debugger:
- 分析传入的 Blob。
- 将分析结果和日志文件写回 Blob 存储。
根据可用的计算容量,此过程可能在上传后随时发生。
查看 Profiler 跟踪或 Snapshot Debugger 分析时,服务将从 Blob 存储提取分析结果。