使用用戶端安裝程式在 Windows 用戶端裝置上安裝 Azure 監視器代理程式,並將監視數據傳送至 Log Analytics 工作區。
Azure 監視器代理程式延伸模組和安裝程式都會安裝相同的基礎代理程式,並使用數據收集規則 (DCR) 來設定資料收集。
本文說明如何使用用戶端安裝程式在 Windows 用戶端裝置上安裝 Azure 監視器代理程式,以及如何將 DCR 與 Windows 用戶端裝置產生關聯。
Note
本文提供在 Windows 用戶端裝置上安裝 Azure 監視器代理程式的特定指引,但受限於 限制。 如需代理程式的標準安裝和管理指引,請參閱 代理程式延伸模組管理指引。
與虛擬機擴充功能的比較
以下是使用用戶端安裝程式和使用 Azure 監視器代理程式的虛擬機 (VM) 擴充功能之間的比較:
| 功能組件 | 透過延伸模組的 VM 或伺服器方法 | 透過安裝程式的用戶端方法 |
|---|---|---|
| 代理程式安裝方法 | 虛擬機擴充 | 用戶端安裝程式 |
| 代理已安裝 | Azure 監視器代理程式 | Azure 監視器代理程式 |
| Authentication | 受管理的識別 | Microsoft Entra 裝置令牌 |
| 中央配置 | DCRs | DCRs |
| 將設定規則與代理程式建立關聯 | DCR 直接與個別 VM 資源產生關聯 | DCR 連結到受監控的對象,並映射到 Microsoft Entra 租戶中的所有裝置。 |
| 資料上傳至 Log Analytics | Log Analytics 端點 | Log Analytics 端點 |
| 功能支援 | 所有 記載的功能 | 與不需要更多延伸模組的 Azure 監視器代理程式延伸模組相依的功能 (包括 Microsoft Sentinel Windows 事件篩選的支援) |
| 網路選項 | 代理伺服器支援、私人連結支援 | 僅支援 Proxy |
支援的裝置類型
| 裝置類型 | Supported? | 安裝方法 | 其他資訊 |
|---|---|---|---|
| Windows 11、10 桌面電腦、工作站 | Yes | 用戶端安裝程式 | 使用 Windows MSI 安裝程式來安裝代理程式。 |
| Windows 11、10 筆記型電腦 | Yes | 用戶端安裝程式 | 使用 Windows MSI 安裝程式安裝代理程式 (安裝適用於膝上型電腦,但代理程式尚未針對電池、網路使用量或休眠進行最佳化)。 |
| VM、擴展集 | No | 虛擬機擴充 | 使用 Azure 擴充功能架構安裝代理程式。 |
| 內部部署伺服器 | No | VM 擴充功能 (使用 Azure Arc 代理程式) | 使用 Azure 延伸模組架構安裝代理程式,藉由安裝 Azure Arc 代理程式,為內部部署提供。 |
Important
Azure 監視器 不支援休眠。 如果客服電腦休眠,你可能會失去監控資料。 此條件通常會產生類似以下範例的錯誤訊息。
Failed to post health report to https://global.handler.control.monitor.azure.com on first round of tries. No fallback will be attempted. Error: {"error":{"code":"TokenExpired","message":"IDX10223: Lifetime validation failed. The token is expired. ValidTo (UTC): '12/27/2024 4:41:52 PM', Current time (UTC): '12/30/2024 3:00:16 PM'."}}
Prerequisites
計算機必須執行 Windows 用戶端 OS 10 版 RS4 或更新版本。
若要下載安裝程式,機器應該已安裝 C++可轉散發套件 2015 版或 更新版本。
機器必須加入網域至 Microsoft Entra 租用戶 (已加入或混合式加入的機器)。 當機器加入網域時,代理程式可以獲取 Microsoft Entra 裝置令牌,以進行身份驗證並從 Azure 獲取 DCR。
檢查您是否需要 Microsoft Entra 租戶的租戶系統管理員許可權。
裝置必須能夠存取下列 HTTPS 端點:
•
global.handler.control.monitor.azure.com•
<virtual-machine-region-name>.handler.control.monitor.azure.com
範例:westus.handler.control.azure.com•
<log-analytics-workspace-id>.ods.opinsights.azure.com
範例:12345a01-b1cd-1234-e1f2-1234567g8h99.ods.opinsights.azure.com如果您在代理程式上使用私人連結,您也必須新增 數據收集端點。
您想要與裝置建立關聯的 DCR。 如果不存在,建立資料收集規則。 請勿將規則與任何資源產生關聯。
使用任何 PowerShell Cmdlet 之前,請確定已安裝並匯入 Cmdlet 相關的 PowerShell 模組。
Limitations
您為 Windows 用戶端機器建立的資料收集規則只能以整個 Microsoft Entra 租用戶範圍為目標。 意即,您與受監視物件相關聯的資料收集規則會套用至您在租用戶內使用此用戶端安裝程式安裝 Azure 監視器代理程式的所有 Windows 用戶端機器。 Windows 用戶端裝置不支援使用資料收集規則進行細微目標設定。
Azure 監視器代理程式不支援透過 Azure 私人連結監視連線的 Windows 機器。
使用 Windows 用戶端安裝程式安裝的代理程式主要是針對一律連線的 Windows 桌面或工作站而設計。 即使您可以使用安裝程式在筆記型電腦上安裝 Azure 監視器代理程式,但代理程式並未針對筆記型電腦上的電池耗用量和網路限制進行最佳化。
不支援 Azure 監視器計量作為 Windows 用戶端裝置的目的地。
安裝代理程式
開啟具有提升權限的系統管理員命令提示字元視窗,然後將目錄切換到您下載安裝程式的位置。
若要使用 預設設定進行安裝,請執行下列命令:
msiexec /i AzureMonitorAgentClientSetup.msi /qn若要使用自定義檔案路徑、 網路 Proxy 設定或非公用雲端安裝,請使用下列命令。 使用下一個數據表中的值。
msiexec /i AzureMonitorAgentClientSetup.msi /qn DATASTOREDIR="C:\example\folder"Parameter Description INSTALLDIR安裝代理程式二進位檔的目錄路徑。 DATASTOREDIR代理程式儲存其作業記錄和數據所在的目錄路徑。 PROXYUSE必須設定為 true,才能使用 Proxy。PROXYADDRESS設定為 Proxy 位址,包括埠號碼, 格式為 Address:Port。PROXYUSE必須設定為true,這個參數才能正確套用。PROXYUSEAUTH如果 Proxy 需要驗證,則設定為 true。PROXYUSERNAME設定為代理用戶名稱。 必須將 PROXYUSE和PROXYUSEAUTH設定為true。PROXYPASSWORD設定為 Proxy 密碼。 必須將 PROXYUSE和PROXYUSEAUTH設定為true。CLOUDENV設定為雲端名稱: Azure Commercial、、Azure ChinaAzure US Gov、Azure USNat或Azure USSec。確認安裝成功:
- 開啟 控制台>程序和功能。 確定 Azure 監視器代理程式 出現在程式清單中。
- 開啟 [服務 ], 並確認 [Azure 監視器代理程式 ] 出現,且 [狀態 ] 為 [正在執行]。
移至下一節,以建立與 DCR 相關聯的受監視物件,以啟動代理程式。
Note
如果您使用用戶端安裝程式安裝代理程式,目前您無法在安裝代理程序之後更新本機代理程式設定。 若要更新這些設定,請卸載然後重新安裝 Azure 監視器代理程式。
建立受監視物件並產生其關聯
接下來,建立受監視的物件,此物件代表 Azure Resource Manager 內的 Microsoft Entra 租使用者。 DCR 接著會與 Azure Resource Manager 實體相關聯。 Azure 會將受監視的物件關聯至相同 Microsoft Entra 租用戶中的所有 Windows 用戶端電腦。
目前,此關聯的範圍「僅限於」Microsoft Entra 租用戶。 套用至 Microsoft Entra 租用戶的設定會套用至屬於租用戶的所有裝置,並執行透過用戶端安裝程式安裝的代理程式。 透過 VM 擴充功能安裝的代理程式不在範圍內,而且不會受到影響。
下圖示範受監視物件關聯的運作方式:
然後,在下一節中繼續,使用 REST API 或 Azure PowerShell 命令來建立 DCR,並將 DCR 與受監視的物件進行關聯。
所需權限
Important
由於受監視的對像是租用戶層級資源,許可權範圍大於訂用帳戶所需的許可權範圍。 可能需要 Azure 租使用者管理員才能執行此步驟。
完成步驟,將 Microsoft Entra 租用戶管理員提升為 Azure 租用戶管理員,以授予 Microsoft Entra 管理員在根範圍的擁有者權限。
下一節所述的所有方法都需要此許可權範圍。
步驟 1:將被監控物件貢獻者角色指派給操作員
此步驟會授予建立並連結受監控的物件的許可權給使用者或群組。
完成此步驟後,重新認證你的會話並重新取得持有憑證(REST)或重新執行 Connect-AzAccount(PowerShell)/az 登入(CLI)。
此操作無法提供專用的 Azure CLI 指令。 直接呼叫 REST API,使用 az rest。
# Set variables
principalId="<PrincipalId>"
roleAssignmentGuid="$(uuidgen)"
# Assign the Monitored Objects Contributor role
az rest \
--method put \
--uri "https://management.azure.com/providers/microsoft.insights/providers/microsoft.authorization/roleassignments/$roleAssignmentGuid?api-version=2021-04-01-preview" \
--body "{
\"properties\": {
\"roleDefinitionId\": \"/providers/Microsoft.Authorization/roleDefinitions/56be40e24db14ccf93c37e44c597135b\",
\"principalId\": \"$principalId\"
}
}"
| Parameter | Description |
|---|---|
| principalId | 要將角色指派給它的使用者或群組的Object Id。 |
| roleAssignmentGuid | 任何有效的 GUID。 使用 uuidgen 自動產生。 |
完成此步驟後,重新執行 az login。
步驟 2:建立一個被監控的物件
此步驟會為 Microsoft Entra 租用戶範圍建立受監視物件。 它代表以該 Microsoft Entra 租戶身份登入的用戶端裝置。
此操作無法提供專用的 Azure CLI 指令。 直接呼叫 REST API,使用 az rest。
# Set variables
tenantId="<TenantId>"
azureRegion="<AzureRegion>"
# Create the monitored object
az rest \
--method put \
--uri "https://management.azure.com/providers/Microsoft.Insights/monitoredObjects/$tenantId?api-version=2021-09-01-preview" \
--body "{
\"properties\": {
\"location\": \"$azureRegion\"
}
}"
| Parameter | Description |
|---|---|
| tenandId | Microsoft Entra 租戶識別碼。 |
| azureRegion | 儲存受監視物件的 Azure 區域。 必須和DCR同 一個區域 。 |
步驟 3:將 DCR 關聯到被監控的物件
此步驟透過建立資料收集規則關聯(DCRA)將 DCR 與被監控物件關聯。
Note
要將多個 DCR 關聯到同一監控物件,請為每個關聯使用獨特的關聯名稱。
此操作無法提供專用的 Azure CLI 指令。 直接呼叫 REST API,使用 az rest。
# Set variables
tenantId="<TenantId>"
subscriptionId="<SubscriptionId>"
resourceGroupName="<ResourceGroupName>"
dcrName="<DcrName>"
associationName="<AssociationName>"
# Build the monitored object resource ID
monitoredObjectId="/providers/Microsoft.Insights/monitoredObjects/$tenantId"
# Build the DCR resource ID
dcrId="/subscriptions/$subscriptionId/resourceGroups/$resourceGroupName/providers/Microsoft.Insights/dataCollectionRules/$dcrName"
# Associate the DCR to the monitored object
az rest \
--method put \
--uri "https://management.azure.com$monitoredObjectId/providers/microsoft.insights/datacollectionruleassociations/$associationName?api-version=2021-09-01-preview" \
--body "{
\"properties\": {
\"dataCollectionRuleId\": \"$dcrId\"
}
}"
列出與受監視對象的關聯
使用此步驟驗證關聯或查看所有與監控物件連結的 DCR。
此操作無法提供專用的 Azure CLI 指令。 直接呼叫 REST API,使用 az rest。
# Set variables
tenantId="<TenantId>"
# List all associations for the monitored object
az rest \
--method get \
--uri "https://management.azure.com/providers/Microsoft.Insights/monitoredObjects/$tenantId/providers/microsoft.insights/datacollectionruleassociations?api-version=2021-09-01-preview"
完成腳本
以下腳本將這四個步驟合併成一個可執行的腳本。
此操作無法提供專用的 Azure CLI 指令。 直接呼叫 REST API,使用 az rest。
# Set variables
tenantId="<TenantId>"
subscriptionId="<SubscriptionId>"
resourceGroupName="<ResourceGroupName>"
dcrName="<DcrName>"
associationName="<AssociationName>"
azureRegion="<AzureRegion>"
# Get the current user's Object ID
principalId=$(az ad signed-in-user show --query id --output tsv)
# Generate a new GUID for the role assignment
roleAssignmentGuid=$(uuidgen)
# --- Step 1: Assign the Monitored Objects Contributor role ---
az rest \
--method put \
--uri "https://management.azure.com/providers/microsoft.insights/providers/microsoft.authorization/roleassignments/$roleAssignmentGuid?api-version=2021-04-01-preview" \
--body "{
\"properties\": {
\"roleDefinitionId\": \"/providers/Microsoft.Authorization/roleDefinitions/56be40e24db14ccf93c37e44c597135b\",
\"principalId\": \"$principalId\"
}
}"
# --- Step 2: Create the monitored object ---
az rest \
--method put \
--uri "https://management.azure.com/providers/Microsoft.Insights/monitoredObjects/$tenantId?api-version=2021-09-01-preview" \
--body "{
\"properties\": {
\"location\": \"$azureRegion\"
}
}"
# Build the monitored object resource ID
monitoredObjectId="/providers/Microsoft.Insights/monitoredObjects/$tenantId"
# Build the DCR resource ID
dcrId="/subscriptions/$subscriptionId/resourceGroups/$resourceGroupName/providers/Microsoft.Insights/dataCollectionRules/$dcrName"
# --- Step 3: Associate the DCR to the monitored object ---
az rest \
--method put \
--uri "https://management.azure.com$monitoredObjectId/providers/microsoft.insights/datacollectionruleassociations/$associationName?api-version=2021-09-01-preview" \
--body "{
\"properties\": {
\"dataCollectionRuleId\": \"$dcrId\"
}
}"
# --- Step 4: List all associations ---
az rest \
--method get \
--uri "https://management.azure.com$monitoredObjectId/providers/microsoft.insights/datacollectionruleassociations?api-version=2021-09-01-preview"
解除與受監視物件的 DCR 關聯
以下操作移除被監控物件中特定的 DCR 關聯。
此操作無法提供專用的 Azure CLI 指令。 直接呼叫 REST API,使用 az rest。
# Set variables
tenantId="<TenantId>"
associationName="<AssociationName>"
# Build the monitored object resource ID
monitoredObjectId="/providers/Microsoft.Insights/monitoredObjects/$tenantId"
# Disassociate the DCR from the monitored object
az rest \
--method delete \
--uri "https://management.azure.com$monitoredObjectId/providers/microsoft.insights/datacollectionruleassociations/$associationName?api-version=2021-09-01-preview"
解除所有 DCR 的關聯,並刪除受監視物件
要完全清理,你可以移除所有 DCR 關聯,然後刪除被監控物件本身。
此操作無法提供專用的 Azure CLI 指令。 直接呼叫 REST API,使用 az rest。
# Set variables
tenantId="<TenantId>"
# Build the monitored object resource ID
monitoredObjectId="/providers/Microsoft.Insights/monitoredObjects/$tenantId"
# Get all associations for the monitored object
associations=$(az rest \
--method get \
--uri "https://management.azure.com$monitoredObjectId/providers/microsoft.insights/datacollectionruleassociations?api-version=2021-09-01-preview" \
--query "value[].id" \
--output tsv)
# Disassociate all DCRs from the monitored object
for associationId in $associations; do
az rest \
--method delete \
--uri "https://management.azure.com$associationId?api-version=2021-09-01-preview"
done
# Delete the monitored object
az rest \
--method delete \
--uri "https://management.azure.com$monitoredObjectId?api-version=2021-09-01-preview"
確認設定成功
在您指定為 DCR 目的地的 Log Analytics 工作區中,檢查 Heartbeat 表格,以及您在規則中設定的其他表格。
SourceComputerId、Computer 和 ComputerIP 資料行應該分別反映用戶端裝置資訊,而 Category 資料行應顯示 Azure 監視器 Agent。
管理代理程式
下一節將說明如何管理代理程式:
- 檢查代理程式版本
- 解除安裝代理程式
- 更新代理程式
檢查代理程式版本
- 開啟 控制台>程序和功能。
- 在程式清單中,選取 [Azure 監視器代理程式]。
- 請檢查Version的值。
您也可以在 [設定] 中檢查代理程式版本。
解除安裝代理程式
- 開啟 控制台>程序和功能。
- 在程式清單中,選取 [Azure 監視器代理程式]。
- 在功能表欄中,選取 [ 卸載]。
您也可以在 [設定] 中卸載代理程式。
如果您在卸載代理程式時發生問題,請參閱 疑難解答。
更新代理程式
若要更新版本,請安裝您要更新的新版本。
Troubleshoot
檢視代理程式診斷記錄
重新執行安裝並開啟記錄,並指定記錄檔案名稱
Msiexec /I AzureMonitorAgentClientSetup.msi /L*V <log file name>。運行時間記錄會在預設位置 C:\Resources\Azure 監視器 Agent\ 或安裝期間指定的檔案路徑自動收集。
如果您找不到路徑,則會在登錄上指出確切的位置,如
AMADataRootDirPath上所示HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\AzureMonitorAgent。ServiceLogs 資料夾包含來自 Azure 監視器代理程式 Windows 服務的記錄,它會啟動和管理 Azure 監視器代理程序進程。
AzureMonitorAgent.MonitoringDataStore包含來自 Azure 監視器代理程式進程的數據和記錄。
解決安裝和卸載問題
下列各節說明如何解決安裝和卸載問題。
缺少 DLL
錯誤訊息:「此 Windows Installer 套件發生問題。 無法執行完成此安裝程式所需的 DLL...
解決方案:在您安裝 Azure 監視器代理程式之前,請確定您已安裝C++可轉散發套件 (>2015)。 安裝相關的可轉散發檔案,然後再試一次安裝。
未加入 Microsoft Entra
錯誤訊息:「租使用者和裝置標識符擷取失敗」
解決方案:執行 命令 dsregcmd /status。 預期的輸出位於 AzureAdJoined : YESDevice State 區段和 DeviceAuthStatus : SUCCESSDevice Details 區段中。 如果此輸出未出現,請加入裝置與 Microsoft Entra 租用戶,然後再試一次安裝。
從命令提示字元進行無訊息安裝失敗
請確定您使用 [ 以系統管理員 身分執行] 選項啟動安裝程式。 只有系統管理員命令提示字元才能起始無訊息安裝。
卸載失敗,因為卸載程式無法停止服務
- 如果有選項可以再次嘗試卸載,請再試一次。
- 如果從卸載程式重試無法奏效,請取消卸載,並在服務中的>停止 Azure 監視代理程式服務。
- 重新嘗試解除安裝。
當卸載程式無法運作時,強制手動卸載
- 停止 Azure 監視器代理程式服務。 然後,再次嘗試解除安裝。 如果失敗,請繼續進行下列步驟。
- 在系統管理員命令提示字元中執行
sc delete AzureMonitorAgent,以刪除 Azure 監視器代理程式服務。 - 下載目標 工具 並卸載 Azure 監視器代理程式。
- 刪除 Azure 監視器代理程式二進位檔。 根據預設,代理程式二進位檔會儲存在 Program Files\Azure 監視器 Agent 中。
- 刪除 Azure 監視器代理程式數據和記錄。 根據預設,代理程式數據和記錄會儲存在 C:\Resources\Azure 監視器代理程式中。
- 開放登記冊。 檢查
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Azure 監視器 Agent。 如果該機碼存在,請加以刪除。
安裝后和操作問題
成功安裝代理程式之後(也就是說,您會看到代理程式服務正在執行,但您沒看到您預期的數據),請分別遵循針對 Windows VM 和 已啟用 Windows Arc 的伺服器 列出的標準疑難解答步驟。
FAQs
取得常見問題的解答。
已聯結 Microsoft Entra 的電腦是否需要 Azure Arc?
No. 針對執行 Windows 11 或 10 (用戶端作業系統) 的 Microsoft Entra 聯結 (或 Microsoft Entra 混合式聯結) 電腦,不需要安裝 Azure Arc。 相反地,您可以使用 Azure 監視器代理程式的 Windows MSI 安裝程式。
問題和意見反應
請進行此 快速問卷, 或分享有關用戶端安裝程式的意見反應或問題。