安裝和管理 Azure 監視器代理程式
本文內容
本文說明您可以在 Azure 虛擬機、虛擬機擴展集和已啟用 Azure Arc 的伺服器上安裝、卸載、更新及 設定 Azure 監視器代理程式 的不同方法。
重要
Azure 監視器代理程式需要至少一個數據收集規則 (DCR) 才能在用戶端電腦上安裝數據之後開始收集數據。 您的安裝方法會決定是否自動建立 DCR。 如果未在安裝期間自動建立 DCR,您必須遵循使用 Azure 監視器代理程式收集數據中的 指引來設定資料收集。
必要條件
如需使用 Azure 監視器代理程式的必要條件和其他需求,請參閱下列文章:
重要
安裝、升級或卸載 Azure 監視器代理程式不需要重新啟動電腦。
安裝選項
下表列出在 Azure VM 和已啟用 Azure Arc 的伺服器上安裝 Azure 監視器代理程式的選項。
對於不在 Azure 中的任何電腦, 必須先在電腦上安裝 Azure Arc 代理程式 ,才能安裝 Azure 監視器代理程式。
安裝方法
描述
虛擬機 (VM) 擴充功能
使用本文中所述的任何方法,透過 Azure 擴充功能架構安裝代理程式。 此方法不會建立 DCR,因此您必須建立至少一個 DCR,並將它與代理程式產生關聯,才能開始數據收集。
建立 DCR
當您在 Azure 入口網站 中建立 DCR 時,Azure 監視器代理程式會安裝在新增為 DCR 資源的任何電腦上。 代理程式會立即開始收集數據,如 DCR 中所定義。
VM 深入解析
當您在機器上啟用 VM 深入解析時,會安裝 Azure 監視器代理程式,並建立 DCR 來收集預先定義的數據集。 您不應該修改此 DCR,但可以建立更多 DCR 來收集更多數據。
容器深入解析
當您在 Kubernetes 叢集上啟用容器深入解析時,會在叢集中安裝 Azure 監視器代理程式的容器化版本,並建立 DCR 以立即開始收集數據。 您可以使用使用 DCR 在容器深入解析中設定資料收集和成本優化中的 指引來修改 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 監視器代理程式。 根據您使用的驗證方法選擇適當的命令。
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 虛擬機器
使用下列 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 extension set Azure CLI Cmdlet,在 Azure 虛擬機擴展集上安裝 Azure 監視器代理程式。
已啟用 Azure Arc 的伺服器 (英文)
使用下列 Azure 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
您可以使用 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 監視器代理程式:
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 虛擬機上卸載
使用下列 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 extension delete Azure CLI Cmdlet 來卸載 Azure 虛擬機擴展集上的 Azure 監視器代理程式。
在已啟用 Azure Arc 的伺服器上卸載
使用下列 Azure 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 部署做法,安全地部署最新版的代理程式。 您應該預期自動更新需要數周才會推出最新版本。
升級會以批次的方式發出,因此某些虛擬機、擴展集或已啟用 Azure Arc 的伺服器可能會在其他虛擬機、擴展集或已啟用 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 虛擬機器上更新
若要執行代理程式的一次性更新,您必須先卸載現有的代理程式版本。 然後,如本文所述安裝新版本。
建議您使用下列 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 的伺服器上更新
若要進行代理程式的一次性升級,請使用下列 Azure 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>
建議您加入加入自動擴充功能升級,以 啟用代理程式的自動更新。
使用下列 Azure CLI 命令:
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 監視器代理程式的管理工具。 AgentSettings DCR 可用來設定特定 Azure 監視器代理程式參數,以將代理程式設定為特定的監視需求。
注意
使用 AgentSettings DCR 時的重要考慮:
目前,AgentSettings DCR 只能使用 Azure Resource Manager 範本來設定。
AgentSettings 必須是沒有其他設定的單一 DCR。
虛擬機和 AgentSettings DCR 必須位於相同的區域中。
支援的參數
AgentSettings DCR 目前支援設定下列參數:
參數
描述
有效值
MaxDiskQuotaInMB
為了提供復原能力,代理程式會在代理程式無法傳送數據時,在本機快取中收集數據。 代理程式會在還原連接之後,在快取中傳送數據。 此參數是 Azure 監視器代理程式記錄檔和快取所使用的磁碟空間量(以 MB 為單位)。
Linux: 1025
至 51199
Windows: 4000
至 51199
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')]"
}
}
]
}
參數檔案:
{
"$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 監視器。