本文說明您可以在 Azure 虛擬機、虛擬機擴展集和已啟用 Azure Arc 的伺服器上安裝、卸載、更新及 設定 Azure 監視器代理程式 的不同方法。
必要條件
如需使用 Azure 監視器代理程式的必要條件和其他需求,請參閱下列文章:
重要
安裝、升級或卸載 Azure 監視器 代理程式時,不需要重新啟動機器。
安裝選項
下表列出在 Azure VM 和已啟用 Azure Arc 的伺服器上安裝 Azure 監視器代理程式的選項。
對於未Azure的機器,您必須先在機器上安裝 Azure Arc agent,才能安裝 Azure 監視器 代理。
| 安裝方法 |
描述 |
| 虛擬機 (VM) 擴充功能 |
使用本文中所述的任何方法,透過 Azure 擴充功能架構安裝代理程式。 此方法不會建立 DCR,因此您必須建立至少一個 DCR,並將它與代理程式產生關聯,才能開始數據收集。 |
|
建立 DCR |
當您在 Azure 入口網站 中建立 DCR 時,Azure 監視器代理程式會安裝在新增為 DCR 資源的任何電腦上。 代理程式會立即開始收集數據,如 DCR 中所定義。 |
|
VM 深入解析 |
當您在機器上啟用 VM 深入解析時,會安裝 Azure 監視器代理程式,並建立 DCR 來收集預先定義的數據集。 您不應該修改此 DCR,但可以建立更多 DCR 來收集更多數據。 |
|
容器深入解析 |
當您在 Kubernetes 叢集上啟用 Prometheus 計量或容器記錄的收集時,叢集中會安裝容器化版本的 Azure 監視器代理程式,並建立 DCR 以立即開始收集資料。 您可以依據在容器深入解析中使用 DCR 設定資料收集和成本最佳化的指引 (部分內容可能是機器或 AI 翻譯) 來修改 DCR。 |
|
用戶端安裝程式 |
使用 Windows 11 和 Windows 10 用戶端的 Windows MSI 安裝程式來安裝代理程式。 |
|
Azure 原則 |
使用 Azure 原則 在已啟用 Azure 虛擬機和已啟用 Azure Arc 的伺服器上自動安裝代理程式,並自動將它們與必要的 DCR 產生關聯。 |
安裝代理程式擴充功能
若要安裝代理程式並建立 DCR 以使用 Azure 入口網站 收集數據,請使用使用 Azure 監視器代理程式收集數據中的指引。
您可以使用PowerShell命令,在 Azure 虛擬機或已啟用 Azure Arc 的伺服器上安裝 Azure 監視器代理程式,以新增虛擬機擴充功能。
Azure 虛擬機器
使用下列 PowerShell 命令,在 Azure 虛擬機上安裝 Azure 監視器代理程式。 根據您使用的驗證方法選擇適當的命令。
窗戶
## 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 監視器代理程式。
窗戶
$vmss = Get-AzVmss -ResourceGroupName <resource-group-name> -VMScaleSetName <vmss-name>
Add-AzVmssExtension -VirtualMachineScaleSet $vmss -Name AzureMonitorWindowsAgent -Publisher Microsoft.Azure.Monitor -Type AzureMonitorWindowsAgent -TypeHandlerVersion <version-number> -EnableAutomaticUpgrade $true
Update-AzVmss -ResourceGroupName <resource-group-name> -VMScaleSetName <vmss-name> -VirtualMachineScaleSet $vmss
Linux
$vmss = Get-AzVmss -ResourceGroupName <resource-group-name> -VMScaleSetName <vmss-name>
Add-AzVmssExtension -VirtualMachineScaleSet $vmss -Name AzureMonitorLinuxAgent -Publisher Microsoft.Azure.Monitor -Type AzureMonitorLinuxAgent -TypeHandlerVersion <version-number> -EnableAutomaticUpgrade $true
Update-AzVmss -ResourceGroupName <resource-group-name> -VMScaleSetName <vmss-name> -VirtualMachineScaleSet $vmss
注意
如果你將擴展集升級政策設為 手動,修改 VMSS 模型後,需要透過執行 Update-AzVmssInstance 來更新現有實例。 對於具有 自動 或 滾動 升級政策的規模集,擴充功能會自動套用到實例上。
已啟用 Azure Arc 的伺服器
使用下列 PowerShell 命令,在已啟用 Azure Arc 的伺服器上安裝 Azure 監視器代理程式:
窗戶
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 虛擬機或啟用 Azure Arc 的伺服器上安裝 Azure 監視器 Agent,請使用 Azure CLI 指令來新增虛擬機擴充功能。
Azure 虛擬機器
使用下列 Azure CLI 命令,在 Azure 虛擬機上安裝 Azure 監視器代理程式。 根據您使用的驗證方法選擇適當的命令。
使用者指派的受控識別
窗戶
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>"}}}'
系統指派的受控識別
窗戶
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 extension set Azure CLI 命令,在 Azure 虛擬機擴展集上安裝 Azure 監視器 Agent。
窗戶
az vmss extension set --name AzureMonitorWindowsAgent --publisher Microsoft.Azure.Monitor --vmss-name <vmss-name> --resource-group <resource-group-name> --enable-auto-upgrade true
Linux
az vmss extension set --name AzureMonitorLinuxAgent --publisher Microsoft.Azure.Monitor --vmss-name <vmss-name> --resource-group <resource-group-name> --enable-auto-upgrade true
要使用使用者指定的管理身份,請加入 --settings 以下參數:
az vmss extension set --name AzureMonitorLinuxAgent --publisher Microsoft.Azure.Monitor --vmss-name <vmss-name> --resource-group <resource-group-name> --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>"}}}'
已啟用 Azure Arc 的伺服器
使用下列 Azure CLI 命令,在已啟用 Azure Arc 的伺服器上安裝 Azure 監視器代理程式:
窗戶
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
您可以使用 Azure Resource Manager 範本,在 Azure 虛擬機或已啟用 Azure Arc 的伺服器上安裝 Azure 監視器代理程式,以及建立與 DCR 的關聯。 您必須建立任何 DCR,才能建立 DCR 的關聯。
取得範例範本以安裝代理程式,並從下列資源建立關聯:
使用 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 監視器代理程式:
窗戶
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 監視器代理程式。
窗戶
$vmss = Get-AzVmss -ResourceGroupName <resource-group-name> -VMScaleSetName <vmss-name>
Remove-AzVmssExtension -VirtualMachineScaleSet $vmss -Name AzureMonitorWindowsAgent
Update-AzVmss -ResourceGroupName <resource-group-name> -VMScaleSetName <vmss-name> -VirtualMachineScaleSet $vmss
Linux
$vmss = Get-AzVmss -ResourceGroupName <resource-group-name> -VMScaleSetName <vmss-name>
Remove-AzVmssExtension -VirtualMachineScaleSet $vmss -Name AzureMonitorLinuxAgent
Update-AzVmss -ResourceGroupName <resource-group-name> -VMScaleSetName <vmss-name> -VirtualMachineScaleSet $vmss
在已啟用 Azure Arc 的伺服器上卸載
使用下列 PowerShell 命令,在已啟用 Azure Arc 的伺服器上卸載 Azure 監視器代理程式:
窗戶
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 虛擬機上卸載
使用下列 Azure CLI 命令,在 Azure 虛擬機上卸載 Azure 監視器代理程式:
窗戶
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 extension delete Azure CLI 命令來卸載 Azure 虛擬機器規模設定集上的 Azure 監視器代理程式。
窗戶
az vmss extension delete --name AzureMonitorWindowsAgent --vmss-name <vmss-name> --resource-group <resource-group-name>
Linux
az vmss extension delete --name AzureMonitorLinuxAgent --vmss-name <vmss-name> --resource-group <resource-group-name>
在已啟用 Azure Arc 的伺服器上卸載
使用下列 Azure CLI 命令,在已啟用 Azure Arc 的伺服器上卸載 Azure 監視器代理程式:
窗戶
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 部署做法,安全地部署最新版的代理程式。 自動更新需要數週才能推送最新版本。
升級會以批次的方式發出,因此某些虛擬機、擴展集或已啟用 Azure Arc 的伺服器可能會在其他虛擬機、擴展集或已啟用 Azure Arc 的伺服器之前升級。
如果你需要立即升級擴充功能,請使用本文說明的手動說明。 僅支援過去一年內發行的代理程式。
若要更新代理程式,請前往您的虛擬機器或擴展集。 選擇擴充 功能 標籤,勾選代理,然後選擇 更新。
透過啟用自動擴充功能升級,即可啟用代理程式的自動更新。 移至您的虛擬機或規模設定,選取 [擴充功能] 索引標籤,然後選取 [AzureMonitorWindowsAgent] 或 [AzureMonitorLinuxAgent]。 在開啟的對話方塊中,選取 [啟用自動升級]。
有關 Azure 虛擬機器的更新
若要更新代理程式一次,請依本文所述安裝新版本。
透過選擇自動 分機升級,啟用代理程式的自動更新。
使用下列 PowerShell 命令:
窗戶
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 虛擬機器擴展集上更新
為擴展集啟用自動擴充功能升級。 要手動更新代理程式,請 重新安裝擴充功能。
注意
如果你將擴展集升級政策設為 手動,修改 VMSS 模型後,需要透過執行 Update-AzVmssInstance 來更新現有實例。 對於具有 自動 或 滾動 升級政策的規模集,擴充功能會自動套用到實例上。
在已啟用 Azure Arc 的伺服器上更新
若要升級代理一次,請使用以下 PowerShell 指令:
窗戶
$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 命令:
窗戶
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 虛擬機器的更新
要更新代理程式一次,請先卸載現有代理版本。 接著,依照本文所述安裝新版本。
透過以下Azure CLI指令,選擇啟用 自動擴展升級功能,啟用代理程式的自動更新:
窗戶
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 虛擬機器擴展集上更新
為擴展集啟用自動擴充功能升級。 要手動更新代理程式,請 重新安裝擴充功能。
在已啟用 Azure Arc 的伺服器上更新
要升級代理一次,請使用以下 Azure CLI 指令:
窗戶
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>
透過選擇自動 分機升級,啟用代理程式的自動更新。
使用下列 Azure CLI 命令:
窗戶
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
資料收集規則(DCRs)用於管理您電腦上的 Azure 監視器 代理程式。 使用 AgentSettings DCR 來設定某些 Azure 監視器 Agent 參數,以符合你特定的監控需求。
注意
使用 AgentSettings DCR 時的重要考慮:
- 目前,你只能透過使用 Azure Resource Manager 範本來設定 AgentSettings DCR。
- AgentSettings 必須是沒有其他設定的單一 DCR。
- 虛擬機和 AgentSettings DCR 必須位於相同的區域中。
支援的參數
AgentSettings DCR 目前支援設定下列參數:
| 參數 |
描述 |
有效值 |
MaxDiskQuotaInMB |
為了提供復原能力,代理程式會在代理程式無法傳送數據時,在本機快取中收集數據。 代理程式會在復原連接後,將快取中的數據發送出去。 此參數是 Azure 監視器代理程式記錄檔和快取所使用的磁碟空間量(以 MB 為單位)。 |
Linux:4,000 到 1,000,000,預設值:10,000 Windows: 4,000 至 1,000,000 |
UseTimeReceivedForForwardedEvents |
變更 Microsoft Sentinel Windows 事件轉送 (WEF) 數據表中的 WEF 數據行,以使用 TimeReceived 而非 TimeGenerated 數據 |
0 或 1 |
設定 AgentSettings DCR
在 VM 上安裝 Azure 監視器代理程式來準備環境。
建立 DCR。
此範例會將 Azure 監視器代理程式快取所使用的磁碟空間上限設定為 5,000 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 與您的電腦產生關聯。 使用下列 Resource Manager 檔案。
範本檔案:
{
"$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')]"
}
}
]
}
注意
如果您要將 DCR 與 已啟用 Azure Arc 的電腦 建立關聯,則必須修改 scope 屬性及 parameters 名稱。
"scope": "[format('Microsoft.HybridCompute/machines/{0}', parameters('name'))]"
參數檔案:
{
"$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"
}
}
}
若要套用變更,請重新啟動 Azure 監視器代理程式。
相關內容
建立資料收集規則,以從代理程式收集資料,並將其傳送至 Azure 監視器。