啟用混合式虛擬機器的 VM 深入解析

本文說明如何為 Azure 以外 (包括內部部署和其他雲端環境) 的虛擬機器啟用 VM 深入解析,。

重要

啟用混合式 VM 的建議方法是先啟用適用於伺服器的 Azure Arc,以便使用與 Azure VM 相似的流程啟用 VM 的深入解析 VM。 本文說明若您選擇不使用 Azure Arc,如何將混合式 VM 上線。

注意

本文會描述使用 Log Analytics 代理程式的 VM 深入解析。 具有 Azure 監視器代理程式的 VM 深入解析目前處於公開預覽狀態。 如需使用此代理程式安裝的詳細資訊,請參閱啟用 VM 深入解析概觀

先決條件

概述

Azure 以外的虛擬機器,需要與用在 Azure VM 上的相同 Log Analytics 代理程式和 Dependency Agent。 不過,由於您無法使用 VM 擴充功能來安裝代理程式,因此您必須在客體作業系統中手動安裝代理程式,或透過其他方法安裝。

如需部署 Log Analytics 代理程式的詳細資訊,請參閱將 Windows 電腦連線至 Azure 監視器將 Linux 電腦連線至 Azure 監視器。 本文提供 Dependency Agent 的詳細資料。

防火牆需求

Log Analytics 代理程式概觀中會說明 Log Analytics 代理程式的防火牆需求。 VM 深入解析對應 Dependency Agent 時,本身不會傳輸任何資料,因此不需變更防火牆或連接埠。 如果您的 IT 安全性原則不允許網路上的電腦連線到網際網路,則對應資料一律會由 Log Analytics 代理程式直接傳輸到 Azure 監視器服務,或透過作業管理套件閘道傳輸。

相依性代理程式

注意

本節中所述的資訊 (如下所示) 也適用於服務對應解決方案

您可以從這些位置下載 Dependency Agent:

檔案 OS 版本 SHA-256
InstallDependencyAgent-Windows.exe Windows 9.10.14.20760 D4DB398FAD36E86FEACCC41D7B8AF46711346A943806769B6CE017F0BF1625FF
InstallDependencyAgent-Linux64.bin Linux 9.10.14.20760 3DE3B485BA79B57E74B3DFB60FD277A30C8A5D1BD898455AD77FECF20E0E2610

在 Windows 上安裝 Dependency Agent

您可以執行 InstallDependencyAgent-Windows.exe 以手動將 Dependency Agent 安裝在 Windows 電腦上。 如果您在執行此可執行檔時未使用任何選項,則會啟動以互動方式安裝代理程式的安裝精靈。 您需要客體 OS 上的 系統管理員權限,才能安裝或解除安裝代理程式。

下表將強調說明命令列中適用於代理程式的安裝程式所支援的參數。

參數 描述
/? 傳回命令列選項的清單。
/S 執行無訊息安裝,而不需要與使用者互動。

例如,若要使用 /? 參數執行安裝程式,請輸入 InstallDependencyAgent-Windows.exe /?

Windows Dependency Agent 的檔案預設安裝在 C:\Program Files\Microsoft Dependency Agent 中。 如果在安裝完成之後無法啟動 Dependency Agent,請檢查記錄以取得詳細的錯誤資訊。 記錄目錄是 %Programfiles%\Microsoft Dependency Agent\logs

PowerShell 指令碼

使用下方的範例 PowerShell 指令碼以下載和安裝代理程式:

Invoke-WebRequest "https://aka.ms/dependencyagentwindows" -OutFile InstallDependencyAgent-Windows.exe

.\InstallDependencyAgent-Windows.exe /S

在 Linux 上安裝 Dependency Agent

將 Dependency Agent 從 InstallDependencyAgent-Linux64.bin (具有自我解壓縮二進位檔的殼層指令碼) 安裝在 Linux 伺服器上。 您可以使用 sh 來執行檔案,或對檔案本身新增執行權限。

注意

必須有 root 權限,以便安裝或設定代理程式。

參數 描述
-help 取得命令列選項的清單。
-S 執行無訊息安裝,不會出現任何使用者提示。
--check 檢查權限和作業系統,但不會安裝代理程式。

例如,若要使用 -help 參數執行安裝程式,請輸入 InstallDependencyAgent-Linux64.bin -help。 執行 sh InstallDependencyAgent-Linux64.bin 命令,以 root 身分安裝 Linux Dependency Agent。

如果 Dependency Agent 無法啟動,請檢查記錄以取得詳細的錯誤資訊。 在 Linux 代理程式上,記錄檔的目錄是 /var/opt/microsoft/dependency-agent/log。

Dependency Agent 的檔案位於下列目錄:

檔案 位置
核心檔案 /opt/microsoft/dependency-agent
記錄檔 /var/opt/microsoft/dependency-agent/log
組態檔 /etc/opt/microsoft/dependency-agent/config
服務可執行檔 /opt/microsoft/dependency-agent/bin/microsoft-dependency-agent
/opt/microsoft/dependency-agent/bin/microsoft-dependency-agent-manager
二進位儲存體檔案 /var/opt/microsoft/dependency-agent/storage

Shell 指令碼

使用下方的範例 Shell 指令碼以下載和安裝代理程式:

wget --content-disposition https://aka.ms/dependencyagentlinux -O InstallDependencyAgent-Linux64.bin
sudo sh InstallDependencyAgent-Linux64.bin -s

Desired State Configuration

若要使用預期狀態設定 (DSC) 部署 Dependency Agent,您可以使用 xPSDesiredStateConfiguration 模組和下列範例程式碼:

configuration VMInsights {

    Import-DscResource -ModuleName xPSDesiredStateConfiguration

    $DAPackageLocalPath = "C:\InstallDependencyAgent-Windows.exe"

    Node localhost
    {
        # Download and install the Dependency agent
        xRemoteFile DAPackage
        {
            Uri = "https://aka.ms/dependencyagentwindows"
            DestinationPath = $DAPackageLocalPath
        }

        xPackage DA
        {
            Ensure="Present"
            Name = "Dependency Agent"
            Path = $DAPackageLocalPath
            Arguments = '/S'
            ProductId = ""
            InstalledCheckRegKey = "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\DependencyAgent"
            InstalledCheckRegValueName = "DisplayName"
            InstalledCheckRegValueData = "Dependency Agent"
            DependsOn = "[xRemoteFile]DAPackage"
        }
    }
}

疑難排解

VM 未出現在對應資料

如果您的 Dependency Agent 安裝成功,但您未在對應資料中看到您的電腦,請遵循下列步驟來診斷問題。

  1. Dependency Agent 是否安裝成功? 您可以查看是否已安裝服務並且執行,以便驗證。

    Windows︰尋找名稱為「Microsoft Dependency Agent」的服務。

    Linux:尋找執行中的處理序 "microsoft-dependency-agent"。

  2. 您位於 Log Analytics 的免費定價層嗎? 免費方案允許最多五個唯一的電腦。 任何後續電腦則不會顯示在對應資料中,即使之前五個伺服器不再傳送資料。

  3. 電腦否會將記錄檔和效能資料傳送至 Azure 監視器記錄? 為您的電腦執行下列查詢:

    Usage | where Computer == "computer-name" | summarize sum(Quantity), any(QuantityUnit) by DataType
    

    它是否傳回一或多個結果? 是否為最新的資料? 如果是,您的 Log Analytics 代理程式會正確運作並與服務通訊。 如果不是,請檢查您伺服器上的代理程式︰適用於 Windows 的 Log Analytics 代理程式疑難排解適用於 Linux 的 Log Analytics 代理程式疑難排解

電腦出現在對應資料中,但沒有流程

如果在對應資料看到您的伺服器,但是沒有處理流程或連線資料,則表示 Dependency Agent 已安裝且正在執行,但未載入核心驅動程式。

請檢查 C:\Program Files\Microsoft Dependency Agent\logs\wrapper.log file (Windows) 檔案或 /var/opt/microsoft/dependency-agent/log/service.log 檔案 (Linux)。 檔案的最後幾行應該會指出未載入核心的原因。 例如,若您更新過核心,在 Linux 上可能會不受支援。

下一步

既然已經為您的虛擬機器啟用了監視,此資訊可用於以 VM 深入解析進行分析。