本文詳細介紹了使用不同方法 (包括 Azure 入口網站、ARM 範本和 PowerShell 指令碼) 在 Azure 監視器中啟用 VM 深入解析。
先決條件
代理程式
當您為機器啟用 VM 深入解析時,系統會安裝下列代理程式。
VM 深入解析 DCR
Azure 監視器代理程式會使用資料收集規則 (DCR) 來指定要收集的資料以及應該如何處理它。 當您啟用 VM 深入解析時,您會特別針對 VM 深入解析建立 DCR,並將其與要監視的任何機器上的 Azure 監視器代理程式產生關聯。
VM 深入解析 DCR 中唯一的組態是 Log Analytics 工作區,以及是否收集程序和相依性資料。 您不應針對每台機器建立個別的 DCR,而應針對用於 VM 深入解析的每個 Log Analytics 工作區使用單一的 DCR,並將該 DCR 與多台機器產生關聯。 如果您想要從某些機器中收集程序和相依性,而不是從其他機器中收集程序和相依性,則可能要建立個別的 DCR。
附註
您不應該修改 VM 深入解析 DCR。 如果您需要從受監視的機器中收集其他資料 (例如事件記錄和安全性記錄),請建立其他 DCR 並將其與相同的機器產生關聯。 您可以從使用 Azure 監視器代理程式收集資料中取得有關建立這些 DCR 的指導。
建立 VM 深入解析 DCR
有兩種方法可建立 VM 深入解析 DCR。 無論您選擇哪種方法,DCR 都是相同的,並且可以與任何程序一起使用以在其他機器上啟用 VM 深入解析。 雖然不是必需的,但您應該將 DCR MSVMI-{WorkspaceName}
命名為符合 Azure 入口網站所使用的命名慣例。
啟用網路隔離
VM 深入解析支持的網路隔離有兩種方法,如下表所述。
啟用 VM 深入解析
使用 Azure 入口網站啟用 VM 深入解析
使用下列程序,以在未監視的虛擬機器或虛擬機器擴展集上啟用 VM 深入解析。 此程序不需要您先部署代理程式或建立 VM 深入解析 DCR,因為這些工作是由入口網站執行。
附註
作為 Azure 監視器代理程式安裝程序的一部分,Azure 會為機器指派一個系統指派的受控識別 (如果此類的識別尚不存在時)。
從 Azure 入口網站的 [監視] 功能表中,選取 [虛擬機器]> [未受監視]。 此索引標籤包含未啟用 VM 深入解析的所有機器。 任何機器都已安裝 Azure 監視器代理程式。 如果虛擬機器已安裝 Log Analytics 代理程式但未安裝相依性代理程式,則會將機器列為未受監視。
選取所要啟用機器旁的 [啟用]。 如果機器目前未執行,則您必須啟動機器以啟用。
在 [深入解析上線] 頁面上,選取 [啟用]。
在 [監視組態] 頁面上,選取 [Azure 監視器代理程式],並從 [資料收集規則] 下拉式清單中選取 [DCR]。 只會列出針對 VM 深入解析所設定的 DCR。
如果尚未針對 VM 深入解析建立 DCR,Azure 監視器會建議使用預設 Log Analytics 工作區和下列設定來建立一個。 您可以接受這些預設值,或按一下 [新建] 以建立具有不同設定的新 DCR。 這可讓您選取工作區,並指定是否使用 VM 深入解析對應功能來收集程序和相依性。
選取 [設定] 以啟動組態程序。 安裝代理程式並開始收集資料需要幾分鐘的時間。 執行組態時,您將會收到狀態訊息。
如果您使用虛擬機器擴展集的手動升級模型,則請升級執行個體以完成設定。 您可以從 [執行個體] 頁面的 [設定] 區段中開始升級。
使用 ARM 範本啟用 VM 深入解析
使用 ARM 範本啟用 VM 深入解析有三個步驟。 下列各節將詳細討論這其中每個步驟。
部署代理程式
使用下列文章中的指導在您的機器上安裝所需的代理程式。 只有在您想要啟用對應功能時才需要相依性代理程式。
附註
如果您的虛擬機器擴展集將升級原則設定為手動,根據預設,在安裝範本後將不會為執行個體啟用 VM 深入解析。 您必須手動升級執行個體。
建立資料收集規則 (DCR)
如果您還沒有適用於 VM 深入解析的 DCR,請使用 VM 深入解析 DCR 中上述的詳細資料來建立一個。
將 DCR 與代理程式產生關聯
啟用 VM 深入解析中的最後一個步驟是將 DCR 與 Azure 監視器代理程式產生關聯。 使用下面的範本,該範本來自在 Azure 監視器中管理資料收集規則關聯。 若要在多台機器上啟用,您需要使用此範本來為每台機器建立關聯。 如果您不熟悉部署 ARM 範本的方法,請參閱部署範本。
附註
如果您將啟用了對應功能的 DCR 關聯到在其上未安裝相依性代理程式的機器,則無法使用對應檢視。 若要啟用 [對應] 檢視,請在安裝相依性代理程式時於相依性代理程式擴充功能中設定 enableAMA property = true
。
ARM 範本
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmName": {
"type": "string",
"metadata": {
"description": "Name of the virtual machine."
}
},
"associationName": {
"type": "string",
"metadata": {
"description": "Name of the association."
}
},
"dataCollectionRuleId": {
"type": "string",
"metadata": {
"description": "Resource ID of the data collection rule."
}
}
},
"resources": [
{
"type": "Microsoft.Insights/dataCollectionRuleAssociations",
"apiVersion": "2021-09-01-preview",
"scope": "[format('Microsoft.Compute/virtualMachines/{0}', parameters('vmName'))]",
"name": "[parameters('associationName')]",
"properties": {
"description": "Association of data collection rule. Deleting this association will break the data collection for this virtual machine.",
"dataCollectionRuleId": "[parameters('dataCollectionRuleId')]"
}
}
]
}
參數檔案
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmName": {
"value": "my-azure-vm"
},
"associationName": {
"value": "my-windows-vm-my-dcr"
},
"dataCollectionRuleId": {
"value": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/my-resource-group/providers/microsoft.insights/datacollectionrules/my-dcr"
}
}
}
部署 ARM 範本
可以使用任何安裝 ARM 範本的方法來部署本節中所述的 ARM 範本。 請參閱快速入門:使用 Azure 入口網站建立及部署 ARM 範本,以取得從 Azure 入口網站部署範本的詳細資訊。
下列範例顯示如何使用一般方法來從命令列中部署範本。
New-AzResourceGroupDeployment -Name EnableVMinsights -ResourceGroupName <ResourceGroupName> -TemplateFile <Template.json> -TemplateParameterFile <Parameters.json>
az deployment group create --resource-group <ResourceGroupName> --template-file <Template.json> --parameters <Parameters.json>
使用 PowerShell 指令碼為多個 VM 啟用 VM 深入解析
本節說明如何使用可啟用多個 VM 的 PowerShell 指令碼來啟用 VM 深入解析。 此程序會使用指令碼來安裝 Azure 監視代理程式 (AMA) 的 VM 擴充功能,並在必要時安裝相依性代理程式來啟用 VM 深入解析。
在使用此指令碼之前,您必須使用 VM 深入解析 DCR 中的上述詳細資料來建立 VM 深入解析 DCR。
PowerShell 指令碼
使用 PowerShell 指令碼 Install-VMInsights.ps1 來為多個 VM 或虛擬機器擴展集啟用 VM 深入解析。 此指令碼會根據您所指定的參數來逐一查看機器。 此指令碼可用來啟用下列項目的 VM 深入解析。 這些每一個參數都接受萬用字元。
- 您訂用帳戶中的每個虛擬機器和虛擬機器擴展集。
-ResourceGroup
所指定的範圍資源群組。
-Name
指定的 VM 或虛擬機器擴展集。
確認您使用的是已啟用 Enable-AzureRM
相容性別名的 Az PowerShell 模組 1.0.0 版或更新版本。 執行 Get-Module -ListAvailable Az
以尋找版本。 若要升級,請參閱安裝 Azure PowerShell 模組。 如果您在本機執行 PowerShell,請執行 Connect-AzAccount
以建立與 Azure 的連線。
若要取得指令碼引數詳細資料及使用方式範例的清單,請執行 Get-Help
。
Get-Help Install-VMInsights.ps1 -Detailed
當您使用 Azure 監視器代理程式啟用 VM 深入解析時,指令碼會將資料收集規則 (DCR) 和使用者指派的受控識別 (UAMI) 關聯至 VM/虛擬機器擴展集。 UAMI 設定會傳遞至 Azure 監視器代理程式擴充功能。
Install-VMInsights.ps1 -SubscriptionId <SubscriptionId> `
[-ResourceGroup <ResourceGroup>] `
[-ProcessAndDependencies ] `
[-Name <VM or Virtual Machine Scale Set name>] `
-DcrResourceId <DataCollectionRuleResourceId> `
-UserAssignedManagedIdentityName <UserAssignedIdentityName> `
-UserAssignedManagedIdentityResourceGroup <UserAssignedIdentityResourceGroup>
必要引數:
-SubscriptionId <String>
Azure 訂用帳戶識別碼。
-DcrResourceId <String>
資料收集規則 (DCR) Azure 資源識別碼。 您可以使用 Vm-Insights 來指定來自不同 VM 或虛擬機器擴展集不同訂用帳戶的 DCR。
-UserAssignedManagedIdentityResourceGroup <String>
使用者指派的受控識別 (UAMI) 資源群組的名稱。
-UserAssignedManagedIdentityName <String>
使用者指派的受控識別 (UAMI) 名稱。
選擇性引數:
-ProcessAndDependencies
將此旗標設定為使用 Azure 監視代理程式 (AMA) 設定將 Dependency Agent 上線。 如果未指定,則只會將 Azure 監視代理程式 (AMA) 上線。
-Name <String>
要上線的 VM 或虛擬機器擴展集名稱。 如果未指定,則訂用帳戶或資源群組中的所有 VM 和虛擬機器擴展集都會上線。 使用萬用字元來指定多個 VM 或虛擬機器擴展集。
-ResourceGroup <String>
包含所要上線 VM 或虛擬機擴展集的資源群組名稱。 如果未指定,則訂用帳戶中的所有 VM 和虛擬機器擴展集都會上線。 使用萬用字元來指定多個資源群組。
-PolicyAssignmentName <String>
只包含與此原則相關聯的 VM。 指定 PolicyAssignmentName 參數時,會考慮參數 SubscriptionId 的 VM 部分。
-TriggerVmssManualVMUpdate [<SwitchParameter>]
觸發擴展集中 VM 執行個體的更新,其升級原則設定為 [手動]。
-WhatIf [<SwitchParameter>]
取得指令碼中命令預期效果的相關資訊。
-Confirm [<SwitchParameter>]
確認指令碼中的每個動作。
-Approve [<SwitchParameter>]
提供安裝核准,以在沒有確認提示列出 VM/虛擬機器擴展集的情況下啟動。
指令碼支援 -Name
和 -ResourceGroup
的萬用字元。 例如,-Name vm*
會針對開頭為 "vm" 的所有 VM 和虛擬機器擴展集啟用 VM 深入解析。 如需詳細資訊,請參閱 Windows PowerShell 中的萬用字元。
範例:
Install-VMInsights.ps1 -SubscriptionId 12345678-abcd-abcd-1234-12345678 `
-ResourceGroup rg-AMAPowershell `
-ProcessAndDependencies `
-Name vmAMAPowershellWindows `
-DcrResourceId /subscriptions/12345678-abcd-abcd-1234-12345678/resourceGroups/rg-AMAPowershell/providers/Microsoft.Insights/dataCollectionRules/MSVMI-ama-vmi-default-dcr `
-UserAssignedManagedIdentityName miamatest1 `
-UserAssignedManagedIdentityResourceGroup amapowershell
在 Azure 入口網站中檢查您的機器以查看擴充功能是否已安裝或使用下列命令:
az vm extension list --resource-group <resource group> --vm-name <VM name> -o table
編輯 VM 深入解析設定
若要在虛擬機上線之後編輯虛擬機的 VM 監控組態,請在 VM 監控概覽頁面上,按一下虛擬機旁邊的 [已啟用]。 這會顯示目前的組態。 按兩下 [編輯 ] 以開啟上一節所述的組態頁面。 您可以為 VM 選取另一個 DCR,或建立新的 DCR。 您無法從此頁面修改現有的 DCR。
後續步驟
如需了解如何使用效能監控功能,請參閱檢視 VM 深入解析效能。 若要檢視已探索的應用程式相依性,請參閱檢視 VM 深入解析對應。