安裝和管理 Azure 監視器代理程式
本文內容
本文詳細說明在 Azure 虛擬機器、擴展集和已啟用 Azure Arc 的伺服器上安裝、卸載、更新和設定 Azure 監視器代理程式 的不同方法。
重要
Azure 監視器代理程式需要至少一個資料收集規則 (DCR) 才能在用戶端電腦上安裝資料之後開始收集資料。 根據您使用的安裝方法,DCR 可能會,也可能不會自動建立。 如果沒有,您必須依照 使用 Azure 監視器代理程式收集資料 中的指導來設定資料收集。
必要條件
如需 Azure 監視器代理程式的必要條件和其他需求,請參閱下列文章:
重要
安裝、升級或卸載 Azure 監視器代理程式不需要重新啟動電腦。
安裝選項
下表列出在 Azure VM 和已啟用 Azure Arc 的伺服器上安裝 Azure 監視器代理程式的不同選項。 Azure Arc 代理程式 必須先安裝在 Azure 以外的任何機器上,才能安裝 Azure 監視器代理程式。
安裝方法
描述
VM 延伸模組
使用下列任何方法,以使用 Azure 擴充功能架構來安裝代理程式。 此方法不會建立 DCR,因此您必須建立至少一個 DCR,並將它與代理程式關聯,才能開始資料收集。
建立 DCR
當您在 Azure 入口網站中建立 DCR 時,Azure 監視器代理程式會安裝在新增為 DCR 資源的任何電腦上。 代理程式會立即開始收集 DCR 中定義的資料。
VM 深入解析
當您在機器上啟用 VM 深入解析時,會安裝 Azure 監視器代理程式,並建立 DCR 來收集預先定義的資料集。 您不應該修改此 DCR,但您可以建立其他 DCR 來收集其他資料。
容器深入解析
當您在 Kubernetes 叢集上啟用容器深入解析時,會在叢集中安裝 Azure 監視器代理程式的容器化版本,並建立 DCR 以立即開始收集資料。 您可以使用 使用資料收集規則在容器深入解析中設定資料收集和成本優化 中的指導來修改此 DCR。
用戶端安裝程式
使用 Windows 10 和 Windows 11 用戶端的 Windows MSI 安裝程式來安裝代理程式。
Azure 原則
使用 Azure 原則在 Azure 虛擬機器和已啟用 Azure Arc 的伺服器上自動安裝代理程式,並自動將它們與必要的 DCR 關聯。
安裝代理程式擴充功能
本節提供使用 VM 擴充功能安裝 Azure 監視器代理程式的詳細資料。
您可以使用 PowerShell 命令新增虛擬機器延伸模組,在 Azure 虛擬機器和已啟用 Azure Arc 的伺服器上安裝 Azure 監視器代理程式。
Azure 虛擬機器
使用下列 PowerShell 命令,在 Azure 虛擬機器上安裝 Azure 監視器代理程式。 根據您選擇的驗證方法,挑選適當的命令。
Windows
## User-assigned managed identity
Set-AzVMExtension -Name AzureMonitorWindowsAgent -ExtensionType AzureMonitorWindowsAgent -Publisher Microsoft.Azure.Monitor -ResourceGroupName <resource-group-name> -VMName <virtual-machine-name> -Location <location> -TypeHandlerVersion <version-number> -EnableAutomaticUpgrade $true -SettingString '{"authentication":{"managedIdentity":{"identifier-name":"mi_res_id","identifier-value":"/subscriptions/<my-subscription-id>/resourceGroups/<my-resource-group>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<my-user-assigned-identity>"}}}'
## System-assigned managed identity
Set-AzVMExtension -Name AzureMonitorWindowsAgent -ExtensionType AzureMonitorWindowsAgent -Publisher Microsoft.Azure.Monitor -ResourceGroupName <resource-group-name> -VMName <virtual-machine-name> -Location <location> -TypeHandlerVersion <version-number> -EnableAutomaticUpgrade $true
Linux
## User-assigned managed identity
Set-AzVMExtension -Name AzureMonitorLinuxAgent -ExtensionType AzureMonitorLinuxAgent -Publisher Microsoft.Azure.Monitor -ResourceGroupName <resource-group-name> -VMName <virtual-machine-name> -Location <location> -TypeHandlerVersion <version-number> -EnableAutomaticUpgrade $true -SettingString '{"authentication":{"managedIdentity":{"identifier-name":"mi_res_id","identifier-value":/subscriptions/<my-subscription-id>/resourceGroups/<my-resource-group>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<my-user-assigned-identity>"}}}'
## System-assigned managed identity
Set-AzVMExtension -Name AzureMonitorLinuxAgent -ExtensionType AzureMonitorLinuxAgent -Publisher Microsoft.Azure.Monitor -ResourceGroupName <resource-group-name> -VMName <virtual-machine-name> -Location <location> -TypeHandlerVersion <version-number> -EnableAutomaticUpgrade $true
Azure 虛擬機器擴展集
使用 Add-AzVmssExtension PowerShell Cmdlet 安裝 Azure 虛擬機擴展集上的 Azure 監視器代理程式。
已啟用 Azure Arc 的伺服器 (英文)
使用下列 PowerShell 命令,在已啟用 Azure Arc 的伺服器上安裝 Azure 監視器代理程式。
Windows
New-AzConnectedMachineExtension -Name AzureMonitorWindowsAgent -ExtensionType AzureMonitorWindowsAgent -Publisher Microsoft.Azure.Monitor -ResourceGroupName <resource-group-name> -MachineName <arc-server-name> -Location <arc-server-location> -EnableAutomaticUpgrade
Linux
New-AzConnectedMachineExtension -Name AzureMonitorLinuxAgent -ExtensionType AzureMonitorLinuxAgent -Publisher Microsoft.Azure.Monitor -ResourceGroupName <resource-group-name> -MachineName <arc-server-name> -Location <arc-server-location> -EnableAutomaticUpgrade
您可以使用 Azure CLI 命令新增虛擬機器延伸模組,在 Azure 虛擬機器和已啟用 Azure Arc 的伺服器上安裝 Azure 監視器代理程式。
Azure 虛擬機器
使用下列 CLI 命令,在 Azure 虛擬機器上安裝 Azure 監視器代理程式。 根據您選擇的驗證方法,挑選適當的命令。
使用者指派的受控識別
Windows
az vm extension set --name AzureMonitorWindowsAgent --publisher Microsoft.Azure.Monitor --ids <vm-resource-id> --enable-auto-upgrade true --settings '{"authentication":{"managedIdentity":{"identifier-name":"mi_res_id","identifier-value":"/subscriptions/<my-subscription-id>/resourceGroups/<my-resource-group>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<my-user-assigned-identity>"}}}'
Linux
az vm extension set --name AzureMonitorLinuxAgent --publisher Microsoft.Azure.Monitor --ids <vm-resource-id> --enable-auto-upgrade true --settings '{"authentication":{"managedIdentity":{"identifier-name":"mi_res_id","identifier-value":"/subscriptions/<my-subscription-id>/resourceGroups/<my-resource-group>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<my-user-assigned-identity>"}}}'
系統指派的受控識別
Windows
az vm extension set --name AzureMonitorWindowsAgent --publisher Microsoft.Azure.Monitor --ids <vm-resource-id> --enable-auto-upgrade true
Linux
az vm extension set --name AzureMonitorLinuxAgent --publisher Microsoft.Azure.Monitor --ids <vm-resource-id> --enable-auto-upgrade true
Azure 虛擬機器擴展集
使用 az vmss 擴充功能組 CLI Cmdlet 來安裝 Azure 虛擬機擴展集上的 Azure 監視器代理程式。
已啟用 Azure Arc 的伺服器 (英文)
使用下列 CLI 命令,在已啟用 Azure Arc 的伺服器上安裝 Azure 監視器代理程式。
Windows
az connectedmachine extension create --name AzureMonitorWindowsAgent --publisher Microsoft.Azure.Monitor --type AzureMonitorWindowsAgent --machine-name <arc-server-name> --resource-group <resource-group-name> --location <arc-server-location> --enable-auto-upgrade true
Linux
az connectedmachine extension create --name AzureMonitorLinuxAgent --publisher Microsoft.Azure.Monitor --type AzureMonitorLinuxAgent --machine-name <arc-server-name> --resource-group <resource-group-name> --location <arc-server-location> --enable-auto-upgrade true
您可以使用 Resource Manager 範本,在 Azure 虛擬機器和已啟用 Azure Arc 的伺服器上安裝 Azure 監視器代理程式,以及建立與資料收集規則之間的關聯。 您必須先建立任何資料收集規則,才能建立關聯。
取得安裝代理程式的範例範本,並從下列資源中建立關聯:
使用適用於 Resource Manager 範本的任何部署方法 來安裝範本,例如下列命令。
PowerShell
New-AzResourceGroupDeployment -ResourceGroupName "<resource-group-name>" -TemplateFile "<template-filename.json>" -TemplateParameterFile "<parameter-filename.json>"
Azure CLI
az deployment group create --resource-group "<resource-group-name>" --template-file "<path-to-template>" --parameters "@<parameter-filename.json>"
解除安裝
若要使用 Azure 入口網站解除安裝 Azure 監視器代理程式,請前往虛擬機器、擴展集或已啟用 Azure Arc 的伺服器。 選取 [延伸模組] 索引標籤,然後選取 [AzureMonitorWindowsAgent] 或 [AzureMonitorLinuxAgent] 。 在開啟的對話方塊中,選取 [解除安裝] 。
在 Azure 虛擬機器上解除安裝
使用下列 PowerShell 命令,在 Azure 虛擬機器上解除安裝 Azure 監視器代理程式。
Windows
Remove-AzVMExtension -Name AzureMonitorWindowsAgent -ResourceGroupName <resource-group-name> -VMName <virtual-machine-name>
Linux
Remove-AzVMExtension -Name AzureMonitorLinuxAgent -ResourceGroupName <resource-group-name> -VMName <virtual-machine-name>
在 Azure 虛擬機器擴展集上解除安裝
使用 Remove-AzVmssExtension PowerShell Cmdlet 解除安裝 Azure 虛擬機擴展集上的 Azure 監視器代理程式。
在已啟用 Azure Arc 的伺服器上解除安裝
使用下列 PowerShell 命令,在已啟用 Azure Arc 的伺服器上解除安裝 Azure 監視器代理程式。
Windows
Remove-AzConnectedMachineExtension -MachineName <arc-server-name> -ResourceGroupName <resource-group-name> -Name AzureMonitorWindowsAgent
Linux
Remove-AzConnectedMachineExtension -MachineName <arc-server-name> -ResourceGroupName <resource-group-name> -Name AzureMonitorLinuxAgent
在 Azure 虛擬機器上解除安裝
使用下列 CLI 命令,在 Azure 虛擬機器上解除安裝 Azure 監視器代理程式。
Windows
az vm extension delete --resource-group <resource-group-name> --vm-name <virtual-machine-name> --name AzureMonitorWindowsAgent
Linux
az vm extension delete --resource-group <resource-group-name> --vm-name <virtual-machine-name> --name AzureMonitorLinuxAgent
在 Azure 虛擬機器擴展集上解除安裝
使用 az vmss 擴充功能刪除 CLI Cmdlet 來解除安裝 Azure 虛擬機擴展集上的 Azure 監視器代理程式。
在已啟用 Azure Arc 的伺服器上解除安裝
使用下列 CLI 命令,在已啟用 Azure Arc 的伺服器上解除安裝 Azure 監視器代理程式。
Windows
az connectedmachine extension delete --name AzureMonitorWindowsAgent --machine-name <arc-server-name> --resource-group <resource-group-name>
Linux
az connectedmachine extension delete --name AzureMonitorLinuxAgent --machine-name <arc-server-name> --resource-group <resource-group-name>
更新
注意
強烈建議您一律更新為最新版本,或加入加入 自動擴充功能更新 功能。
自動擴充功能推出遵循標準 Azure 部署做法,安全地部署最新版的代理程式。 您應該預期自動更新需要數周才會推出最新版本。
升級會以批次的方式發出,因此您可能會看到某些虛擬機器、擴展集或已啟用 Arc 的伺服器會在其他虛擬機之前升級。
如果您需要立即升級擴充功能,您可以使用下列手動指示。 僅支援去年發行的代理程式。
若要執行代理程式的一次性更新,您必須先解除安裝現有的代理程式版本。 然後如先前所述安裝新版本。
建議啟用自動延伸模組升級 功能,來自動更新代理程式。 移至虛擬機器或擴展集,選取 [延伸模組] 索引標籤,然後選取 [AzureMonitorWindowsAgent] 或 [AzureMonitorLinuxAgent] 。 在開啟的對話方塊中,選取 [啟用自動升級] 。
在 Azure 虛擬機器上更新
若要執行代理程式的單次更新,您必須先解除安裝現有的代理程式版本,然後安裝上述的新版本。
建議使用下列 PowerShell 命令來啟用自動延伸模組升級 功能,藉以自動更新代理程式。
Windows
Set-AzVMExtension -ExtensionName AzureMonitorWindowsAgent -ResourceGroupName <resource-group-name> -VMName <virtual-machine-name> -Publisher Microsoft.Azure.Monitor -ExtensionType AzureMonitorWindowsAgent -TypeHandlerVersion <version-number> -Location <location> -EnableAutomaticUpgrade $true
Linux
Set-AzVMExtension -ExtensionName AzureMonitorLinuxAgent -ResourceGroupName <resource-group-name> -VMName <virtual-machine-name> -Publisher Microsoft.Azure.Monitor -ExtensionType AzureMonitorLinuxAgent -TypeHandlerVersion <version-number> -Location <location> -EnableAutomaticUpgrade $true
在已啟用 Azure Arc 的伺服器上更新
若要執行代理程式的一次性升級,請使用下列 PowerShell 命令。
Windows
$target = @{"Microsoft.Azure.Monitor.AzureMonitorWindowsAgent" = @{"targetVersion"=<target-version-number>}}
Update-AzConnectedExtension -ResourceGroupName $env.ResourceGroupName -MachineName <arc-server-name> -ExtensionTarget $target
Linux
$target = @{"Microsoft.Azure.Monitor.AzureMonitorLinuxAgent" = @{"targetVersion"=<target-version-number>}}
Update-AzConnectedExtension -ResourceGroupName $env.ResourceGroupName -MachineName <arc-server-name> -ExtensionTarget $target
建議使用下列 PowerShell 命令來啟用自動延伸模組升級 功能,藉以自動更新代理程式。
Windows
Update-AzConnectedMachineExtension -ResourceGroup <resource-group-name> -MachineName <arc-server-name> -Name AzureMonitorWindowsAgent -EnableAutomaticUpgrade
Linux
Update-AzConnectedMachineExtension -ResourceGroup <resource-group-name> -MachineName <arc-server-name> -Name AzureMonitorLinuxAgent -EnableAutomaticUpgrade
在 Azure 虛擬機器上更新
若要執行代理程式的單次更新,您必須先解除安裝現有的代理程式版本,然後安裝上述的新版本。
我們建議您使用下列 CLI 命令來啟用自動延伸模組升級 功能,藉以自動更新代理程式。
Windows
az vm extension set --name AzureMonitorWindowsAgent --publisher Microsoft.Azure.Monitor --vm-name <virtual-machine-name> --resource-group <resource-group-name> --enable-auto-upgrade true
Linux
az vm extension set --name AzureMonitorLinuxAgent --publisher Microsoft.Azure.Monitor --vm-name <virtual-machine-name> --resource-group <resource-group-name> --enable-auto-upgrade true
在已啟用 Azure Arc 的伺服器上更新
若要執行代理程式的一次性升級,請使用下列 CLI 命令。
Windows
az connectedmachine upgrade-extension --extension-targets "{\"Microsoft.Azure.Monitor.AzureMonitorWindowsAgent\":{\"targetVersion\":\"<target-version-number>\"}}" --machine-name <arc-server-name> --resource-group <resource-group-name>
Linux
az connectedmachine upgrade-extension --extension-targets "{\"Microsoft.Azure.Monitor.AzureMonitorLinuxAgent\":{\"targetVersion\":\"<target-version-number>\"}}" --machine-name <arc-server-name> --resource-group <resource-group-name>
建議使用下列 PowerShell 命令來啟用自動延伸模組升級 功能,藉以自動更新代理程式。
Windows
az connectedmachine extension update --name AzureMonitorWindowsAgent --machine-name <arc-server-name> --resource-group <resource-group-name> --enable-auto-upgrade true
Linux
az connectedmachine extension update --name AzureMonitorLinuxAgent --machine-name <arc-server-name> --resource-group <resource-group-name> --enable-auto-upgrade true
資料收集規則 (DCR) 作為您電腦上的 Azure 監視器代理程式 (AMA) 管理工具。 AgentSettings
DCR 可用來設定特定 AMA 參數,設定代理程式以符合您的特定監視需求。
注意
使用 AgentSettings
DCR 時,要記住的重要考量:
AgentSettings
DCR 目前只能使用 ARM 範本設定。
AgentSettings
必須是沒有其他設定的單一 DCR。
虛擬機器和 AgentSettings
DCR 必須位於相同的區域。
支援的參數
AgentSettings DCR 目前支援設定下列參數:
參數
描述
有效值
MaxDiskQuotaInMB
若要提供復原功能,代理程式會在代理程式無法傳送數據時,在本機快取中收集數據。 代理程式會在還原連接之後,在快取中傳送數據。 此參數是 Azure 監視器代理程式記錄檔和快取所使用的磁碟空間量(以 MB 為單位)。
Linux:1025-51199 Windows:4000-51199
UseTimeReceivedForForwardedEvents
將 Sentinel WEF 資料表中的 WEF 資料行變更為使用 TimeReceived,而不是 TimeGenerated 資料
0 或 1
設定 AgentSettings DCR
準備環境:
在 VM 上 安裝 AMA 。
建立 DCR:
此範例會將 AMA 快取所使用的磁碟空間上限變更為 5000 MB。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {},
"resources": [
{
"type": "Microsoft.Insights/dataCollectionRules",
"name": "dcr-contoso-01",
"apiVersion": "2023-03-11",
"properties":
{
"description": "A simple agent settings",
"agentSettings":
{
"logs": [
{
"name": "MaxDiskQuotaInMB",
"value": "5000"
}
]
}
},
"kind": "AgentSettings",
"location": "eastus"
}
]
}
將 DCR 與您的電腦關聯:
使用這些 ARM 範本和參數檔案:
ARM 範本檔案
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmName": {
"type": "string",
"metadata": {
"description": "The name of the virtual machine."
}
},
"dataCollectionRuleId": {
"type": "string",
"metadata": {
"description": "The 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": "agentSettings",
"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"
},
"dataCollectionRuleId": {
"value": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/my-resource-group/providers/microsoft.insights/datacollectionrules/my-dcr"
}
}
}
啟用設定:
重新啟動 AMA 以套用變更。
下一步
建立資料收集規則 ,以從代理程式收集資料,並將其傳送至 Azure 監視器。