适用于 Azure 虚拟机 (VM) 和虚拟机规模集的 Application Insights

本文介绍如何通过自动检测为 Azure 虚拟机Azure 虚拟机规模集上的 IIS 托管 ASP.NET 及 ASP.NET Core 应用程序启用 Azure Monitor Application Insights 监视。 它介绍如何使用虚拟机扩展部署 Application Insights 代理,该扩展 自动收集与 SDK 相同的依赖项信号,并提供有关使用 PowerShell 自动执行大规模部署的指导。

注意

有关支持的自动检测方案的完整列表,请参阅支持的环境、语言和资源提供程序

先决条件

在安装 Application Insights 代理扩展之前,需要一个连接字符串。 创建新的 Application Insights 资源 或从现有资源复制连接字符串。

为虚拟机启用监视

可使用 Azure 门户或 PowerShell 来启用 VM 监视。

  1. 在 Azure 门户中,转到你的 Application Insights 资源。 将你的连接字符串复制到剪贴板。

    显示连接字符串的屏幕截图。

  2. 转到虚拟机。 在左侧菜单的“设置”部分下,选择“扩展 + 应用程序”>“添加”。

    显示“扩展 + 应用程序”窗格的屏幕截图,其中包含“添加”按钮。

  3. 选择“Application Insights 代理”>“下一步”。

    显示“安装扩展”窗格的屏幕截图,其中包含“下一步”按钮。

  4. 粘贴你在步骤 1 中复制的连接字符串,然后选择“查看 + 创建”。

    显示“创建”选项卡的屏幕截图,其中包含“查看 + 创建”按钮。

为虚拟机规模集启用监视

可以使用 Azure 门户或 PowerShell 为虚拟机规模集启用监视。

遵循前述用于 VM 的步骤,但需转到虚拟机规模集而不是 VM。

常见问题

如何进行禁用 ASP.NET Core 应用的客户端监控?

默认情况下,ASP.NET Core 应用启用客户端监视。 如果要禁用它,请使用以下信息在服务器中定义环境变量:

  • 名称APPINSIGHTS_JAVASCRIPT_ENABLED
  • false

疑难解答

查找有关在 Azure 虚拟机和虚拟机规模集上运行的 .NET 应用程序的 Application Insights 监视代理扩展的故障排除提示。

如果在部署扩展时遇到问题,请查看记录到以下目录中的文件的执行输出:

C:\WindowsAzure\Logs\Plugins\Microsoft.Azure.Diagnostics.ApplicationMonitoringWindows\<version>\

如果扩展已成功部署,但你看不到遥测数据,则可能发生了代理故障排除中介绍的以下问题之一:

  • 应用的 bin 目录中存在冲突的 Dll
  • 与 IIS 共享配置冲突

测试应用程序主机与引入服务之间的连接性

Application Insights SDK 和代理会发送遥测,以将其作为 REST 调用引入到终结点。 可以使用原始 REST 客户端通过 PowerShell 或使用 curl 命令,测试从 Web 服务器或应用程序主机计算机到引入服务终结点的连接。 请参阅排查 Azure Monitor Application Insights 中应用程序遥测数据缺失的问题

发行说明

2.8.44

  • 已将 Application Insights .NET/.NET Core SDK 更新为 2.20.1 - 红色字段。
  • 启用了 SQL 查询集合。
  • 已启用对 Microsoft Entra 身份验证的支持。

2.8.42

已将 Application Insights .NET/.NET Core SDK 更新到 2.18.1 - 红色字段。

2.8.41

添加了 ASP.NET Core 自动检测功能。

后续步骤