為內部部署伺服器部署 Azure 監視器Application Insights 代理程式

Application Insights 代理程式 (先前稱為狀態監視器 V2) 是發佈至 PowerShell 資源庫 (英文) 的 PowerShell 模組。 能取代狀態監視器。 遙測會傳送至 Azure 入口網站,您可以在其中監視 (部分機器翻譯) 您的應用程式。

如需支援自動檢測案例的完整清單,請參閱支援的環境、語言和資源提供者

注意

此模組目前支援以 IIS 裝載之 ASP.NET 和 ASP.NET Core Web 應用程式的無程式碼檢測設備。 使用 SDK 來檢測 Java 和 Node.js 應用程式。

Application Insights 代理程式位於 PowerShell 資源庫

PowerShell Gallery icon.

指示

  • 若要開始使用精簡的程式碼範例,請參閱 [開始使用] 索引標籤。
  • 如需深入了解如何開始使用,請參閱 [詳細指示] 索引標籤。
  • 如需 PowerShell API 參考,請參閱 [API 參考] 索引標籤。
  • 如需版本資訊更新,請參閱 [發行備註] 索引標籤。

此索引標籤包含應適用於大部分環境的快速入門命令。 這些指示仰賴 PowerShell 資源庫散發更新。 這些命令支援 PowerShell -Proxy 參數。

如需這些命令的說明、自訂指示以及疑難排解的相關資訊,請參閱詳細指示

如尚未擁有 Azure 訂用帳戶,請在開始之前先建立免費帳戶

透過 PowerShell 資源庫進行下載和安裝。

安裝先決條件

若要啟用監視,您必須具備連接字串。 連接字串會顯示在 Application Insights 資源的 [概觀] 窗格中。 如需詳細資訊,請參閱連接字串

注意

自 2020 年 4 月起,PowerShell 資源庫已淘汰 TLS 1.1 和 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.com/'

手動下載並安裝 (離線選項)

您也可以手動下載和安裝。

下載模組

手動從 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.com/'

常見問題集

本節提供常見問題的答案。

Application Insights 代理程式是否支援 Proxy 安裝?

是。 有多種方式可下載 Application Insights 代理程式:

  • 如果您的電腦具有網際網路存取權,您可以使用 -Proxy 參數上線至PowerShell 資源庫。
  • 您也可以手動下載模組,並在電腦上安裝模組,或直接使用。

每個選項都會在詳細指示 (部分機器翻譯) 中說明。

Application Insights 代理程式是否支援 ASP.NET Core 應用程式?

是。 在 Application Insights 代理程式 2.0.0 更新版本中,可支援裝載在 IIS 中的 ASP.NET Core 應用程式。

如何驗證已成功啟用?

  • 您可使用 Get-ApplicationInsightsMonitoringStatus Cmdlet 來驗證啟用是否成功。

  • 請使用即時計量 快速判斷您的應用程式是否正在傳送遙測。

  • 您也可以使用 Log Analytics (部分機器翻譯) 列出目前傳送遙測的所有雲端角色:

    union * | summarize count() by cloud_RoleName, cloud_RoleInstance
    

如何達成 Proxy 傳遞?

若要達到 Proxy 傳遞,請設定電腦層級 Proxy 或應用程式層級 Proxy。 請參閱 DefaultProxy

範例 Web.config:

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

疑難排解

請參閱專用的疑難排解文章

測試應用程式主機與擷取服務之間的連線

應用程式深入剖析 SDK 和代理程式會傳送遙測,以擷取為 REST 呼叫擷取到我們擷取的端點。 您可以使用來自 PowerShell 或 curl 命令的原始 REST 用戶端,測試從 Web 伺服器或應用程式主機電腦到擷取服務端點的連線。 請參閱針對 Azure 監視器 Application Insights 中遺失的應用程式遙測進行疑難排解

下一步

檢視遙測:

新增更多遙測:

使用 Application Insights 代理程式執行更多動作:

  • 針對 Application Insights 代理程式進行疑難排解