管理和維護適用於 Windows 和 Linux 的 Log Analytics 代理程式
在 Azure 監視器中初始部署 Log Analytics Windows 或 Linux 代理程式之後,您可能需要重新設定與升級代理程式,或是在代理程式達到生命週期的淘汰階段時從電腦中將其移除。 您可以手動或自動的方式輕鬆地管理這些例行維護工作,後者可以降低操作錯誤和費用。
重要
舊版 Log Analytics 代理程式 自 2024 年 8 月 31 日起已淘汰。 Microsoft 將不再提供對 Log Analytics 代理程式的任何支援。 如果您使用 Log Analytics 代理程式來將資料擷取至 Azure 監視器,請立即移轉至 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 代理程式:
登入 Azure 入口網站。
在 Azure 入口網站中,選取所有服務。 在資源清單中,輸入 Log Analytics。 當您開始輸入時,清單會根據您的輸入進行篩選。 選取 [Log Analytics 工作區]。
在 Log Analytics 工作區清單中選取工作區。
在 Log Analytics 工作區中,選取 [代理程式] 圖格,然後選取 [Windows 伺服器]。
在 [Windows 伺服器] 畫面上,根據 Windows 作業系統的處理器架構,選取適當的 [下載 Windows 代理程式] 版本來下載。
注意
在升級適用於 Windows 的 Log Analytics 代理程式期間,不支援設定或重新設定要回報的工作區。 若要設定代理程式,請遵循新增或移除工作區下所列的其中一個受支援方法。
使用安裝精靈進行升級
以具有系統管理權限的帳戶登入電腦。
執行 MMASetup-<platform>.exe 以啟動 [安裝精靈]。
在 [安裝精靈] 的第一頁上,選取 [下一步]。
在 [Microsoft Monitoring Agent 安裝程式] 對話方塊中,選取 [我同意] 以接受授權合約。
在 [Microsoft Monitoring Agent 安裝程式] 對話方塊中,選取 [升級]。 狀態頁面會顯示升級進度。
在 [Microsoft Monitoring Agent 設定已順利完成] 頁面出現時,選取 [完成]。
從命令列進行升級
以具有系統管理權限的帳戶登入電腦。
若要解壓縮代理程式安裝檔案,請從提升權限的命令提示字元執行
MMASetup-<platform>.exe /c
,而且會提示檔案解壓縮的路徑。 或者,您可以傳遞MMASetup-<platform>.exe /c /t:<Full Path>
引數來指定路徑。執行下列命令,其中 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 代理程式以向多個工作區回報,只能在初始設定代理程式之後執行,且需使用此區段的方法。
從控制台更新設定
以具有系統管理權限的帳戶登入電腦。
開啟 [控制台]。
選取 [Microsoft Monitoring Agent],然後選取 [Azure Log Analytics] 索引標籤。
如果您要移除工作區,則請選取工作區,然後選取 [移除]。 針對您希望代理程式停止向其報告的任何其他工作區,重複此步驟。
如果您要新增工作區,則請選取 [新增]。 在 [新增 Log Analytics 工作區] 對話方塊中,貼上工作區識別碼和工作區金鑰 (主索引鍵)。 如果電腦應該向 Azure Government Cloud 中的 Log Analytics 工作區回報,請從 [Azure 雲端] 下拉式清單中選取 [Azure US Gov]。
選取 [確定] 以儲存您的變更。
使用 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
會換成 AddCloudWorkspace
和 RemoveCloudWorkspace
。
Linux 代理程式
如果您決定要向不同工作區註冊 Linux 代理程式,或要從其設定中移除工作區,下列步驟示範如何重新設定該代理程式。
若要確認已向工作區註冊代理程式,請執行下列命令:
/opt/microsoft/omsagent/bin/omsadmin.sh -l
它應該會傳回類似下列範例的狀態:
Primary Workspace: <workspaceId> Status: Onboarded(OMSAgent Running)
狀態也請務必顯示代理程式正在執行。 否則,下列重新設定代理程式的步驟將無法順利完成。
如果已向工作區註冊代理程式,則請執行下列命令來移除已註冊的工作區。 否則,如果尚未註冊,則請繼續進行下一個步驟。
/opt/microsoft/omsagent/bin/omsadmin.sh -X
若要向不同工作區註冊,請執行下列命令:
/opt/microsoft/omsagent/bin/omsadmin.sh -w <workspace id> -s <shared key> [-d <top level domain>]
若要確認您的變更已生效,請執行下列命令:
/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 代理程式。
使用控制台更新設定
以具有系統管理權限的帳戶登入電腦。
開啟 [控制台]。
選取 [Microsoft Monitoring Agent],然後選取 [Proxy 設定] 索引標籤。
選取 [使用 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 位址。
執行下列命令來編輯檔案
/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
執行下列命令,以重新啟動代理程式:
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 代理程式。
從控制台解除安裝
以具有系統管理權限的帳戶登入電腦。
在 [控制台] 選取 [程式和功能]。
在 [程式和功能] 中,選取 [Microsoft Monitoring Agent] > [解除安裝] > [是]。
注意
按兩下 MMASetup-\<platform\>.exe
也可以執行 [代理程式安裝精靈],而您可以從 Azure 入口網站的工作區下載此檔案。
從命令列解除安裝
為代理程式下載的檔案是使用 IExpress 建立的獨立安裝套件。 套件中包含代理程式的安裝程式和支援檔案,而且必須解壓縮這些檔案,才能使用下列範例所示的命令列進行正確解除安裝。
以具有系統管理權限的帳戶登入電腦。
若要解壓縮代理程式安裝檔案,請從提升權限的命令提示字元執行
extract MMASetup-<platform>.exe
,它會提示檔案解壓縮的路徑。 或者,您可以傳遞extract MMASetup-<platform>.exe /c:<Path> /t:<Path>
引數來指定路徑。 如需 IExpress 支援的命令列參數詳細資訊,請參閱 IExpress 的命令列參數,然後更新範例以符合您的需求。在提示字元中,輸入
%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 代理程式。
以具有系統管理權限的帳戶登入電腦。
開啟 [控制台]。
選取 [Microsoft Monitoring Agent],然後選取 [Operations Manager] 索引標籤。
如果 Operations Manager 伺服器已與 Active Directory 整合,則請選取 [自動更新來自 AD DS 的管理群組指派]。
選取 [新增],以開啟 [新增管理群組] 對話方塊。
在 [管理群組名稱] 欄位中,輸入您的管理群組名稱。
在 [主要管理伺服器] 欄位中,輸入主要管理伺服器的電腦名稱。
在 [管理伺服器連接埠] 欄位中,輸入 TCP 連接埠號碼。
在 [代理程式動作帳戶] 下,選擇本機系統帳戶或本機網域帳戶。
選取 [確定],以關閉 [新增管理群組] 對話方塊。 然後選取 [確定] 以關閉 [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 代理程式。
編輯
/etc/opt/omi/conf/omiserver.conf
檔案。確認開頭為
httpsport=
的行會定義連接埠 1270,例如,httpsport=1270
。使用下列命令來重新啟動 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 回報。
下一步
- 如果您在安裝或管理 Linux 代理程式時遇到問題,則請檢閱針對 Linux 代理程式進行疑難排解。
- 如果您在安裝或管理 Windows 代理程式時遇到問題,則請檢閱針對 Windows 代理程式進行疑難排解。