为本地服务器部署 Azure Monitor Application Insights 代理

Application Insights 代理(以前称为状态监视器 V2)是发布到 PowerShell 库的 PowerShell 模块。 它将替换状态监视器。 遥测数据将发送到 Azure 门户,你可以在其中监视应用。

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

注意

本模块当前支持通过 IIS 托管的 ASP.NET 和 ASP.NET Core web 应用的无代码检测。 使用 SDK 检测 Java 和 Node.js 应用程序。

Application Insights 代理位于 PowerShell 库中。

PowerShell 库图标。

说明

  • 若要开始使用简洁的代码示例,请参阅“入门”选项卡。
  • 若要深入了解如何开始使用,请参阅“详细说明”选项卡。
  • 有关 PowerShell API 参考,请参阅“API 参考”选项卡。
  • 有关发行说明更新,请参阅“发行说明”选项卡。

此选项卡包含应适用于大多数环境的快速入门命令。 这些说明依赖于 PowerShell 库来分发更新。 这些命令支持 PowerShell -Proxy 参数。

有关这些命令的说明、自定义说明以及有关故障排除的信息,请参阅详细说明

如果没有 Azure 订阅,可在开始前创建一个试用帐户

使用 PowerShell 库来下载并安装。

安装先决条件

若要启用监视,你必须有一个连接字符串。 连接字符串将显示在 Application Insights 资源的“概述”窗格上。 有关详细信息,请参阅连接字符串

注意

从 2020 年 4 月起,PowerShell 库已弃用了 TLS 1.1 和 TLS 1.0。

有关可能需要的更多先决条件,请参阅 PowerShell 库 TLS 支持

以管理员身份运行 PowerShell。

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process -Force
Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force
Set-PSRepository -Name "PSGallery" -InstallationPolicy Trusted
Install-Module -Name PowerShellGet -Force

关闭 PowerShell。

安装 Application Insights 代理

以管理员身份运行 PowerShell。

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process -Force
Install-Module -Name Az.ApplicationMonitor -AllowPrerelease -AcceptLicense

注意

Install-Module cmdlet 中的 AllowPrerelease 开关允许安装 beta 版本。

有关详细信息,请参阅 Install-Module

启用监视

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process -Force
Enable-ApplicationInsightsMonitoring -ConnectionString 'InstrumentationKey=00000000-0000-0000-0000-000000000000;IngestionEndpoint=https://xxxx.applicationinsights.azure.cn/'

手动下载并安装(脱机选项)

还可以手动下载并安装。

下载模块

PowerShell 库手动下载最新版本的模块。

解压缩并安装 Application Insights 代理

$pathToNupkg = "C:\Users\t\Desktop\Az.ApplicationMonitor.0.3.0-alpha.nupkg"
$pathToZip = ([io.path]::ChangeExtension($pathToNupkg, "zip"))
$pathToNupkg | rename-item -newname $pathToZip
$pathInstalledModule = "$Env:ProgramFiles\WindowsPowerShell\Modules\Az.ApplicationMonitor"
Expand-Archive -LiteralPath $pathToZip -DestinationPath $pathInstalledModule

启用监视

Enable-ApplicationInsightsMonitoring -ConnectionString 'InstrumentationKey=00000000-0000-0000-0000-000000000000;IngestionEndpoint=https://xxxx.applicationinsights.azure.cn/'

常见问题

本部分提供常见问题的解答。

Application Insights 代理是否支持代理安装?

是的。 可以通过多种方式下载 Application Insights 代理:

  • 如果计算机可以访问 Internet,则可以使用 -Proxy 参数登录到 PowerShell 库。
  • 还可以手动下载此模块,并将其安装到计算机上或直接使用它。

上述每个选项都在详细说明中进行了说明。

Application Insights 代理是否支持 ASP.NET Core 应用程序?

是的。 在 Application Insights Agent 2.0.0 及更高版本中,支持在 IIS 中托管的 ASP.NET Core 应用程序。

如何验证启用是否成功?

如何实现代理直通?

若要实现代理直通,请配置计算机级代理或应用程序级代理。 请参阅 DefaultProxy

示例 Web.config:

<system.net>
    <defaultProxy>
    <proxy proxyaddress="http://xx.xx.xx.xx:yyyy" bypassonlocal="true"/>
    </defaultProxy>
</system.net>

故障排除

请参阅专用疑难解答文章

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

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

后续步骤

查看遥测:

添加更多遥测:

使用 Application Insights 代理执行更多操作: