本文說明您可以在 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 監視器。