管理和維護適用於 Windows 和 Linux 的 Log Analytics 代理程式

在 Azure 監視器中初始部署 Log Analytics Windows 或 Linux 代理程式之後,您可能需要重新設定與升級代理程式,或是在代理程式達到生命週期的淘汰階段時從電腦中將其移除。 您可以手動或自動的方式輕鬆地管理這些例行維護工作,後者可以降低操作錯誤和費用。

重要

舊版 Log Analytics 代理程式將於 2024 年 8 月被取代。 在此日期之後,Microsoft 將不再提供 Log Analytics 代理程式的任何支援。 在 2024 年 8 月之前移轉至 Azure 監視器代理程式,才能繼續擷取資料。

升級代理程式

根據您的部署案例和 VM 執行所在的環境,手動或自動升級至適用於 Windows 和 Linux 的 Log Analytics 代理程式最新版本。

Environment 安裝方法 升級方法
Azure VM 適用於 Windows/Linux 的 Log Analytics 代理程式 VM 擴充功能 代理程式會在 VM 模型變更之後自動升級,除非您將 autoUpgradeMinorVersion 屬性設定為 false 以將 Azure Resource Manager 範本設定為退出。 不過,部署之後,除非重新部署延伸模組,否則延伸模組將不會升級次要版本,即使此屬性設定為 true 亦然。 只有 Linux 代理程式才支援使用 enableAutomaticUpgrade 屬性在部署後自動更新 (請參閱啟用 Linux 代理程式的自動更新)。 主要版本升級一律為手動 (請參閱 VirtualMachineExtensionInner.AutoUpgradeMinorVersion 屬性)。
自訂 Azure VM 映像 手動安裝適用於 Windows/Linux 的 Log Analytics 代理程式 您必須從執行 Windows 安裝程式套件的命令列或 Linux 自我解壓縮和可安裝殼層指令碼套件組合,將 VM 更新為最新版本的代理程式。
非 Azure VM 手動安裝適用於 Windows/Linux 的 Log Analytics 代理程式 您必須從執行 Windows 安裝程式套件的命令列或 Linux 自我解壓縮和可安裝殼層指令碼套件組合,將 VM 更新為最新版本的代理程式。

升級 Windows 代理程式

若要使用 Log Analytics VM 延伸模組將 Windows VM 上的代理程式更新為未安裝的最新版本,您可以從命令提示字元、指令碼或其他自動化解決方案來執行,或使用 MMASetup-<platform>.msi 安裝精靈來執行。

若要從 Log Analytics 工作區下載最新版的 Windows 代理程式:

  1. 登入 Azure 入口網站

  2. 在 Azure 入口網站中,選取所有服務。 在資源清單中,輸入 Log Analytics。 當您開始輸入時,清單會根據您的輸入進行篩選。 選取 [Log Analytics 工作區]

  3. 在 Log Analytics 工作區清單中選取工作區。

  4. 在 Log Analytics 工作區中,選取 [代理程式] 圖格,然後選取 [Windows 伺服器]

  5. 在 [Windows 伺服器] 畫面上,根據 Windows 作業系統的處理器架構,選取適當的 [下載 Windows 代理程式] 版本來下載。

注意

在升級適用於 Windows 的 Log Analytics 代理程式期間,不支援設定或重新設定要回報的工作區。 若要設定代理程式,請遵循新增或移除工作區下所列的其中一個受支援方法。

使用安裝精靈進行升級

  1. 以具有系統管理權限的帳戶登入電腦。

  2. 執行 MMASetup-<platform>.exe 以啟動 [安裝精靈]

  3. 在 [安裝精靈] 的第一頁上,選取 [下一步]

  4. 在 [Microsoft Monitoring Agent 安裝程式] 對話方塊中,選取 [我同意] 以接受授權合約。

  5. 在 [Microsoft Monitoring Agent 安裝程式] 對話方塊中,選取 [升級]。 狀態頁面會顯示升級進度。

  6. 在 [Microsoft Monitoring Agent 設定已順利完成] 頁面出現時,選取 [完成]

從命令列進行升級

  1. 以具有系統管理權限的帳戶登入電腦。

  2. 若要解壓縮代理程式安裝檔案,請從提升權限的命令提示字元執行 MMASetup-<platform>.exe /c,而且會提示檔案解壓縮的路徑。 或者,您可以傳遞 MMASetup-<platform>.exe /c /t:<Full Path> 引數來指定路徑。

  3. 執行下列命令,其中 D:\ 是升級記錄檔的位置:

    setup.exe /qn /l*v D:\logs\AgentUpgrade.log AcceptEndUserLicenseAgreement=1
    

升級 Linux 代理程式

支援從舊版 (> 1.0.0-47) 升級。 使用 --upgrade 命令執行安裝,會將代理程式的所有元件升級為最新版本。

執行下列命令來升級代理程式:

sudo sh ./omsagent-*.universal.x64.sh --upgrade

啟用 Linux 代理程式的自動更新

建議您使用下列命令啟用自動延伸模組更新,以自動更新代理程式。

Set-AzVMExtension \
  -ResourceGroupName myResourceGroup \
  -VMName myVM \
  -ExtensionName OmsAgentForLinux \
  -ExtensionType OmsAgentForLinux \
  -Publisher Microsoft.EnterpriseCloud.Monitoring \
  -TypeHandlerVersion latestVersion \
  -ProtectedSettingString '{"workspaceKey":"myWorkspaceKey"}' \
  -SettingString '{"workspaceId":"myWorkspaceId","skipDockerProviderInstall": true}' \
  -EnableAutomaticUpgrade $true

新增或移除工作區

使用 Windows 代理程式或 Linux 代理程式來新增或移除工作區。

Windows 代理程式

如果您不僅要重新設定 Windows 代理程式以回報至不同的工作區或從其設定中移除工作區,而且還要將代理程式設定為向數個工作區回報,則本節中的步驟是必要的動作。 (這種做法通常稱為多路連接。)設定 Windows 代理程式以向多個工作區回報,只能在初始設定代理程式之後執行,且需使用此區段的方法。

從控制台更新設定

  1. 以具有系統管理權限的帳戶登入電腦。

  2. 開啟 [控制台]。

  3. 選取 [Microsoft Monitoring Agent],然後選取 [Azure Log Analytics] 索引標籤。

  4. 如果您要移除工作區,則請選取工作區,然後選取 [移除]。 針對您希望代理程式停止向其報告的任何其他工作區,重複此步驟。

  5. 如果您要新增工作區,則請選取 [新增]。 在 [新增 Log Analytics 工作區] 對話方塊中,貼上工作區識別碼和工作區金鑰 (主索引鍵)。 如果電腦應該向 Azure Government Cloud 中的 Log Analytics 工作區回報,請從 [Azure 雲端] 下拉式清單中選取 [Azure US Gov]

  6. 選取 [確定] 以儲存您的變更。

使用 PowerShell 移除工作區

$workspaceId = "<Your workspace Id>"
$mma = New-Object -ComObject 'AgentConfigManager.MgmtSvcCfg'
$mma.RemoveCloudWorkspace($workspaceId)
$mma.ReloadConfiguration()

使用 PowerShell 在 Azure Commercial 中新增工作區

$workspaceId = "<Your workspace Id>"
$workspaceKey = "<Your workspace Key>"
$mma = New-Object -ComObject 'AgentConfigManager.MgmtSvcCfg'
$mma.AddCloudWorkspace($workspaceId, $workspaceKey)
$mma.ReloadConfiguration()

使用 PowerShell 在 Azure US Government 中新增工作區

$workspaceId = "<Your workspace Id>"
$workspaceKey = "<Your workspace Key>"
$mma = New-Object -ComObject 'AgentConfigManager.MgmtSvcCfg'
$mma.AddCloudWorkspace($workspaceId, $workspaceKey, 1)
$mma.ReloadConfiguration()

注意

如果您先前使用過命令列或指令碼來安裝或設定代理程式,EnableAzureOperationalInsights 會換成 AddCloudWorkspaceRemoveCloudWorkspace

Linux 代理程式

如果您決定要向不同工作區註冊 Linux 代理程式,或要從其設定中移除工作區,下列步驟示範如何重新設定該代理程式。

  1. 若要確認已向工作區註冊代理程式,請執行下列命令:

    /opt/microsoft/omsagent/bin/omsadmin.sh -l

    它應該會傳回類似下列範例的狀態:

    Primary Workspace: <workspaceId> Status: Onboarded(OMSAgent Running)

    狀態也請務必顯示代理程式正在執行。 否則,下列重新設定代理程式的步驟將無法順利完成。

  2. 如果已向工作區註冊代理程式,則請執行下列命令來移除已註冊的工作區。 否則,如果尚未註冊,則請繼續進行下一個步驟。

    /opt/microsoft/omsagent/bin/omsadmin.sh -X

  3. 若要向不同工作區註冊,請執行下列命令:

    /opt/microsoft/omsagent/bin/omsadmin.sh -w <workspace id> -s <shared key> [-d <top level domain>]

  4. 若要確認您的變更已生效,請執行下列命令:

    /opt/microsoft/omsagent/bin/omsadmin.sh -l

    它應該會傳回類似下列範例的狀態:

    Primary Workspace: <workspaceId> Status: Onboarded(OMSAgent Running)

不需要重新啟動代理程式服務,變更就能生效。

更新 Proxy 設定

Log Analytics 代理程式 (MMA) 不會使用系統 Proxy 設定。 因此,您必須在安裝 MMA 時傳遞 Proxy 設定。 這些設定將會儲存至 VM 的 MMA 設定 (登錄) 下。 若要在部署之後將代理程式設定為透過 Proxy 伺服器或 Log Analytics 閘道來與服務通訊,可使用下列其中一種方法來完成這項工作。

Windows 代理程式

使用 Windows 代理程式。

使用控制台更新設定

  1. 以具有系統管理權限的帳戶登入電腦。

  2. 開啟 [控制台]。

  3. 選取 [Microsoft Monitoring Agent],然後選取 [Proxy 設定] 索引標籤。

  4. 選取 [使用 Proxy 伺服器],並提供 Proxy 伺服器或閘道的 URL 和連接埠號碼。 如果您的 Proxy 伺服器或 Log Analytics 閘道要求驗證,則請輸入要驗證的使用者名稱和密碼,然後選取 [確定]

使用 PowerShell 更新設定

複製下列 PowerShell 程式碼範例,以您環境的特定資訊加以更新,並使用 PS1 副檔名進行儲存。 在 Azure 監視器中,在直接連線到 Log Analytics 工作區的每一部電腦上執行指令碼。

param($ProxyDomainName="https://proxy.contoso.com:30443", $cred=(Get-Credential))

# First we get the Health Service configuration object. We need to determine if we
#have the right update rollup with the API we need. If not, no need to run the rest of the script.
$healthServiceSettings = New-Object -ComObject 'AgentConfigManager.MgmtSvcCfg'

$proxyMethod = $healthServiceSettings | Get-Member -Name 'SetProxyInfo'

if (!$proxyMethod)
{
    Write-Output 'Health Service proxy API not present, will not update settings.'
    return
}

Write-Output "Clearing proxy settings."
$healthServiceSettings.SetProxyInfo('', '', '')

$ProxyUserName = $cred.username

Write-Output "Setting proxy to $ProxyDomainName with proxy username $ProxyUserName."
$healthServiceSettings.SetProxyInfo($ProxyDomainName, $ProxyUserName, $cred.GetNetworkCredential().password)

Linux 代理程式

如果您的 Linux 電腦需要透過 Proxy 伺服器或 Log Analytics 閘道來通訊,請執行下列步驟。 Proxy 設定值的語法如下:[protocol://][user:password@]proxyhost[:port]proxyhost 屬性接受 Proxy 伺服器的完整網域名稱或 IP 位址。

  1. 執行下列命令來編輯檔案 /etc/opt/microsoft/omsagent/proxy.conf,然後將值變更為您的特定設定:

    proxyconf="https://proxyuser:proxypassword@proxyserver01:30443"
    sudo echo $proxyconf >>/etc/opt/microsoft/omsagent/proxy.conf
    sudo chown omsagent:omiusers /etc/opt/microsoft/omsagent/proxy.conf
    
  2. 執行下列命令,以重新啟動代理程式:

    sudo /opt/microsoft/omsagent/bin/service_control restart [<workspace id>]
    

    如果您在記錄中看到 cURL failed to perform on this base url,則可以嘗試移除 proxy.conf EOF 中的 '\n' 以移除失敗:

    od -c /etc/opt/microsoft/omsagent/proxy.conf
    cat /etc/opt/microsoft/omsagent/proxy.conf | tr -d '\n' > /etc/opt/microsoft/omsagent/proxy2.conf
    rm /etc/opt/microsoft/omsagent/proxy.conf
    mv /etc/opt/microsoft/omsagent/proxy2.conf /etc/opt/microsoft/omsagent/proxy.conf
    sudo chown omsagent:omiusers /etc/opt/microsoft/omsagent/proxy.conf
    sudo /opt/microsoft/omsagent/bin/service_control restart [<workspace id>]
    

解除安裝代理程式

使用命令列或 [安裝精靈],以使用下列其中一個程序來解除安裝 Windows 或 Linux 代理程式。

Windows 代理程式

使用 Windows 代理程式。

從控制台解除安裝

  1. 以具有系統管理權限的帳戶登入電腦。

  2. 在 [控制台] 選取 [程式和功能]

  3. 在 [程式和功能] 中,選取 [Microsoft Monitoring Agent] > [解除安裝] > [是]

注意

按兩下 MMASetup-\<platform\>.exe 也可以執行 [代理程式安裝精靈],而您可以從 Azure 入口網站的工作區下載此檔案。

從命令列解除安裝

為代理程式下載的檔案是使用 IExpress 建立的獨立安裝套件。 套件中包含代理程式的安裝程式和支援檔案,而且必須解壓縮這些檔案,才能使用下列範例所示的命令列進行正確解除安裝。

  1. 以具有系統管理權限的帳戶登入電腦。

  2. 若要解壓縮代理程式安裝檔案,請從提升權限的命令提示字元執行 extract MMASetup-<platform>.exe,它會提示檔案解壓縮的路徑。 或者,您可以傳遞 extract MMASetup-<platform>.exe /c:<Path> /t:<Path> 引數來指定路徑。 如需 IExpress 支援的命令列參數詳細資訊,請參閱 IExpress 的命令列參數,然後更新範例以符合您的需求。

  3. 在提示字元中,輸入 %WinDir%\System32\msiexec.exe /x <Path>:\MOMAgent.msi /qb

Linux 代理程式

若要移除代理程式,請在 Linux 電腦上執行下列命令。 --purge 引數可將代理程式及其組態完全移除。

wget https://raw.githubusercontent.com/Microsoft/OMS-Agent-for-Linux/master/installer/scripts/onboard_agent.sh && sh onboard_agent.sh --purge

將代理程式設定為向 Operations Manager 管理群組報告

使用 Windows 代理程式。

Windows 代理程式

執行下列步驟,將適用於 Windows 的 Log Analytics 代理程式設定為向 System Center Operations Manager 管理群組報告。

注意

Microsoft Operations Management Suite 正在轉換為 Azure 監視器,而適用於 Windows 或 Linux 的 Operations Management Suite 代理程式屬於此轉換的一部份,之後會將其稱為適用於 Windows 的 Log Analytics 代理程式和適用於 Linux 的 Log Analytics 代理程式。

  1. 以具有系統管理權限的帳戶登入電腦。

  2. 開啟 [控制台]。

  3. 選取 [Microsoft Monitoring Agent],然後選取 [Operations Manager] 索引標籤。

  4. 如果 Operations Manager 伺服器已與 Active Directory 整合,則請選取 [自動更新來自 AD DS 的管理群組指派]

  5. 選取 [新增],以開啟 [新增管理群組] 對話方塊。

  6. 在 [管理群組名稱] 欄位中,輸入您的管理群組名稱。

  7. 在 [主要管理伺服器] 欄位中,輸入主要管理伺服器的電腦名稱。

  8. 在 [管理伺服器連接埠] 欄位中,輸入 TCP 連接埠號碼。

  9. 在 [代理程式動作帳戶] 下,選擇本機系統帳戶或本機網域帳戶。

  10. 選取 [確定],以關閉 [新增管理群組] 對話方塊。 然後選取 [確定] 以關閉 [Microsoft Monitoring Agent 內容] 對話方塊。

Linux 代理程式

執行下列步驟,將適用於 Linux 的 Log Analytics 代理程式設定為向 System Center Operations Manager 管理群組報告。

注意

Microsoft Operations Management Suite 正在轉換為 Azure 監視器,而適用於 Windows 或 Linux 的 Operations Management Suite 代理程式屬於此轉換的一部份,之後會將其稱為適用於 Windows 的 Log Analytics 代理程式和適用於 Linux 的 Log Analytics 代理程式。

  1. 編輯 /etc/opt/omi/conf/omiserver.conf 檔案。

  2. 確認開頭為 httpsport= 的行會定義連接埠 1270,例如,httpsport=1270

  3. 使用下列命令來重新啟動 OMI 伺服器:

    sudo /opt/omi/bin/service_control restart

常見問題集

本節提供常見問題的答案。

如何阻止 Log Analytics 代理程式與 Azure 監視器通訊?

針對直接連線到 Log Analytics 的代理程式,開啟 [控制台],然後選取 [安全性和設定] 和 [Microsoft Monitoring Agent]。 在 [Azure Log Analytics (OMS)] 索引標籤底下,移除所有列出的工作區。 在 System Center Operations Manager 中,從 Log Analytics 管理的電腦清單中移除該電腦。 Operations Manager 會將代理程式的設定更新為不再向 Log Analytics 回報。

下一步