為 Azure 虛擬機器上的 Web 應用程式啟用 Profiler
注意
建議您使用 Azure Az PowerShell 模組來與 Azure 互動。 請參閱安裝 Azure PowerShell 以開始使用。 若要瞭解如何遷移至 Az PowerShell 模組,請參閱將 Azure PowerShell 從 AzureRM 遷移至 Az。
在本文中,您將瞭解如何透過三種不同的方法,在 Azure 虛擬機器上執行 Application Insights Profiler (VM) 或 Azure 虛擬機器擴展集:
- Visual Stuido 與 Azure Resource Manager
- PowerShell
- Azure 資源總管
使用上述任一方法,您可以:
- 設定 Azure 診斷延伸模組以執行 Profiler。
- 在 VM 上安裝 Application Insights SDK。
- 部署應用程式。
- 透過 Azure 入口網站 中的 Application Insights 實例來檢視分析工具追蹤。
必要條件
將 Application Insights SDK 新增至您的應用程式
在 Visual Studio 中開啟您的 ASP.NET Core 專案。
選取 [專案]>[新增 Application Insights 遙測]。
選取[Azure 應用程式 [深入解析>] [下一步]。
選取 Application Insights 資源所在的訂用帳戶,然後選取 [ 下一步]。
選取要儲存連接字串的位置,然後選取 [ 下一步]。
選取 [完成]。
確認最新的 Application Insights SDK 穩定版本
移至 [專案]>[管理 NuGet 套件]。
選取 [Microsoft.ApplicationInsights.AspNetCore]。
在側邊窗格中,從下拉式清單中選取最新版本的 SDK。
選取 [更新]。
啟用分析工具
您可以透過下列三種方式之一來啟用 Profiler:
- 使用 Azure Resource Manager 範本和 Visual Studio 在您的 ASP.NET Core應用程式中。 推薦。
- 透過 Azure CLI 使用 PowerShell 命令。
- 使用 Azure 資源總管。
安裝 Azure 診斷擴充功能
選擇要使用哪一個 ARM 範本:
在範本中,找出屬於類型 extension
的資源。
在 Visual Studio 中,移至 arm.json
您安裝 Application Insights SDK 時所新增 ASP.NET Core應用程式中的 檔案。
將資源類型 extension
從範本新增至 arm.json
檔案,以使用 Azure 診斷來設定 VM 或虛擬機器擴展集。
在 WadCfg
標記內,將 Application Insights 檢測金鑰新增至 MyApplicationInsightsProfilerSink
。
"WadCfg": {
"SinksConfig": {
"Sink": [
{
"name": "MyApplicationInsightsProfilerSink",
"ApplicationInsightsProfiler": "YOUR_APPLICATION_INSIGHTS_INSTRUMENTATION_KEY"
}
]
}
}
部署應用程式。
下列 PowerShell 命令是只會觸及 Azure 診斷延伸模組的現有 VM 適用的方法。
注意
若您再次部署 VM,接收器將會遺失。 您必須更新部署 VM 時所使用的組態,以保留此設定。
透過Azure 診斷組態安裝 Application Insights
將目前已部署的 Azure 診斷設定匯出至檔案:
$ConfigFilePath = [IO.Path]::GetTempFileName()
將 Application Insights Profiler 接收器新增至下列命令傳回的設定:
(Get-AzVMDiagnosticsExtension -ResourceGroupName "YOUR_RESOURCE_GROUP" -VMName "YOUR_VM").PublicSettings | Out-File -Verbose $ConfigFilePath
Application Insights Profiler WadCfg
:
"WadCfg": {
"SinksConfig": {
"Sink": [
{
"name": "MyApplicationInsightsProfilerSink",
"ApplicationInsightsProfiler": "YOUR_APPLICATION_INSIGHTS_INSTRUMENTATION_KEY"
}
]
}
}
執行下列命令,將更新的設定傳至 Set-AzVMDiagnosticsExtension
命令。
Set-AzVMDiagnosticsExtension -ResourceGroupName "YOUR_RESOURCE_GROUP" -VMName "YOUR_VM" -DiagnosticsConfigurationPath $ConfigFilePath
注意
Set-AzVMDiagnosticsExtension
可能需要 -StorageAccountName
引數。 如果您的原始診斷設定在 protectedSettings
區段中有 storageAccountName
屬性 (無法下載),請務必傳入您在此 Cmdlet 呼叫中使用的相同原始值。
IIS HTTP 追蹤功能
如果預期的應用程式是透過 IIS 執行,則啟用 IIS Http Tracing
Windows 功能:
建立對環境的遠端存取。
使用新增 Windows 功能視窗,或在 PowerShell 中執行下列命令 (以系統管理員身分):
Enable-WindowsOptionalFeature -FeatureName IIS-HttpTracing -Online -All
如果建立遠端存取發生問題,您可以使用 Azure CLI 來執行下列命令:
az vm run-command invoke -g MyResourceGroupName -n MyVirtualMachineName --command-id RunPowerShellScript --scripts "Enable-WindowsOptionalFeature -FeatureName IIS-HttpTracing -Online -All"
部署應用程式。
使用 Azure 資源總管設定 Profiler 接收
因為Azure 入口網站不提供設定 Application Insights Profiler 接收的方法,所以您可以使用Azure 資源總管來設定接收。
注意
若您再次部署 VM,接收器將會遺失。 您必須更新部署 VM 時所使用的組態,以保留此設定。
檢視為虛擬機器安裝的擴充功能,確認已安裝 Microsoft Azure 診斷擴充功能。
尋找 VM 的 VM 診斷延伸模組:
移至 Azure 資源總管。
展開 訂 用帳戶,並尋找與您的 VM 保存資源群組的訂用帳戶。
選取您的資源群組,向下切入至您的 VM 擴充功能。 然後選取[Microsoft.Compute>virtualMachines>[您的虛擬機器]>擴充功能。
將 Application Insights Profiler 接收新增至 SinksConfig
底下的 WadCfg
節點。 如果您還沒有區 SinksConfig
段,您可能需要新增一個。 若要新增接收器:
在設定中指定適當的 Application Insights iKey。
將總管模式切換至右上角的 [讀取/寫入 ]。
選取 [編輯]。
"WadCfg": {
"SinksConfig": {
"Sink": [
{
"name": "MyApplicationInsightsProfilerSink",
"ApplicationInsightsProfiler": "YOUR_APPLICATION_INSIGHTS_INSTRUMENTATION_KEY"
}
]
}
}
完成編輯設定之後,請選取 [PUT]。
put
如果 成功,畫面中間會出現綠色核取記號。
是否可在內部部署伺服器上執行 Profiler?
目前內部部署伺服器不支援 Application Insights Profiler。
下一步