啟用 VM 深入解析
本文提供使用不同方法在 Azure 監視器中啟用 VM Insights 的詳細數據,包括 Azure 入口網站、ARM 範本和 PowerShell 腳本。
必要條件
客服專員
當您為機器啟用 VM 深入解析時,系統會安裝下列代理程式。
- Azure 監視器代理程式:從計算機收集數據,並將其傳遞給Log Analytics工作區。
- 相依性代理程式:收集在虛擬機上執行之進程的探索數據,以及外部進程相依性,以支援 VM Insights 中的對應功能。 其他 VM 深入解析功能不需要此代理程式,因此如果不要使用對應功能,就不需要安裝相依性代理程式。
VM 深入解析 DCR
Azure 監視器代理程式會使用資料收集規則來 指定要收集的數據及其處理方式。 當您啟用 VM Insights 時,您會特別針對 VM 深入解析建立 DCR,並將它與要監視之任何機器上的 Azure 監視器代理程式產生關聯。
VM 深入解析 DCR 中唯一的組態是 Log Analytics 工作區,以及是否要收集進程和相依性數據。 您應該針對用於 VM 深入解析的每個 Log Analytics 工作區使用單一 DCR,而不是為每個機器建立個別的 DCR,並將該 DCR 與多部計算機產生關聯。 如果您想要從某些電腦收集進程和相依性,但不要從其他計算機收集進程和相依性,您可以建立個別 DCR。
您不應該修改 VM 深入解析 DCR。 如果您需要從受監視的計算機收集其他數據,例如事件記錄檔和安全性記錄,請建立其他 DCR,並將其與相同的機器產生關聯。 您可以從使用 Azure 監視器代理程式收集數據,取得建立這些 DCR 的指引。
建立 VM 深入解析 DCR
有兩種方法可建立 VM 深入解析 DCR。 不論您選擇的方法為何,DCR 都完全相同,而且可與任何程序搭配使用,以在其他機器上啟用 VM 深入解析。 雖然不需要,但您應該將 DCR MSVMI-{WorkspaceName}
命名為符合 Azure 入口網站所使用的命名慣例。
使用私人連結啟用網路隔離
根據預設,Azure 監視器代理程式會連線到公用端點,以連線到您的 Azure 監視器環境。 若要啟用 VM Insights 的網路隔離,請將 VM Insights DCR 關聯至連結至 Azure 監視器 Private Link 範圍的數據收集端點 (DCE),如使用 Private Link 啟用 Azure 監視器代理程式的網路隔離中所述。
啟用 VM 深入解析
使用 Azure 入口網站 啟用 VM 深入解析
使用下列程式,在未受監視的虛擬機或虛擬機擴展集上啟用 VM 深入解析。 此程式不需要您先部署代理程式或建立 VM 深入解析 DCR,因為這些工作是由入口網站執行。
注意
作為 Azure 監視器代理程式安裝流程的一部分,如果還未有身份存在,Azure 會指派系統指派的管理身份給機器。
從 Azure 入口網站的 [監視] 功能表中,選取 [虛擬機器]> [未受監視]。 此索引標籤包含未啟用 VM 深入解析的所有機器。 任何機器都已安裝 Azure 監視器代理程式。 如果虛擬機器已安裝 Log Analytics 代理程式但未安裝相依性代理程式,則會將機器列為未受監視。
選取所要啟用機器旁的 [啟用]。 如果機器目前未執行,則您必須啟動機器以啟用。
在 [深入解析上線] 頁面上,選取 [啟用]。
在 [監視組態] 頁面上,選取 [Azure 監視器代理程式],然後從 [數據收集規則] 下拉式清單中選取 DCR。 只會列出針對 VM 深入解析設定的 DCR。
如果尚未針對 VM 深入解析建立 DCR,Azure 監視器會提供使用預設 Log Analytics 工作區和下列設定來建立 DCR。 您可以接受這些預設值,或按下 [新建 ] 建立具有不同設定的新 DCR。 這可讓您選取工作區,並指定是否使用 VM 深入解析對應功能收集流程和相依性。
注意
如果您選取已啟用對應的 DCR,且相依性代理程式不支援您的虛擬機器,則會安裝相依性代理程式,並以降級模式執行。
選擇 [設定] 啟動設定程序。 安裝代理程式並開始收集資料需要幾分鐘的時間。 執行設定時,您將會收到狀態訊息。
如果您使用虛擬機器擴展集的手動升級模型,則請升級執行個體以完成設定。 您可以從 [執行個體] 頁面的 [設定] 區段中開始升級。
使用 ARM 範本啟用 VM 深入解析
使用 ARM 範本啟用 VM 深入解析有三個步驟。 下列各節將詳細說明這些每一個步驟。
部署代理程式
使用下列文章中的指引,在您的計算機上安裝必要的代理程式。 只有在您想要啟用對應功能時,才需要相依性代理程式。
注意
如果您的虛擬機器擴展集將升級原則設定為手動,根據預設,在安裝範本後將不會為執行個體啟用 VM 深入解析。 您必須手動升級執行個體。
建立資料收集規則 (DCR)
如果您還沒有適用於 VM 深入解析的 DCR,請使用 VM 深入解析 DCR 中的 上述詳細數據建立一個 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 Insights。
使用此腳本之前,您必須使用 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 深入解析對應。