針對 Linux 更新代理程式問題進行疑難排解
重要
變更追蹤和清查 使用Log Analytics代理程式已於2024年8月31日淘汰,並將在2025年2月1日之前進行有限的支援。 建議您使用 Azure 監視代理程式作為新的支援代理程式。 遵循從使用記錄分析的變更追蹤和清查至使用 Azure 監視代理程式版本的變更追蹤和清查的移轉指導方針。
您的機器在更新管理中未顯示為就緒 (狀況良好),可能有很多原因。 您可以檢查 Linux 混合式 Runbook 背景工作角色代理程式的健康狀態,以判斷根本問題。 下列是電腦的三種整備狀態:
- 準備就緒:混合式 Runbook 背景工作角色已部署,上次出現時間為不到一小時前。
- 已中斷連線:混合式 Runbook 背景工作角色已部署,上次出現時間為超過一小時前。
- 未設定:找不到混合式 Runbook 背景工作角色或尚未完成部署。
注意
Azure 入口網站顯示的內容與機器目前的狀態間,可能略有延遲。
本文探討如何對 Azure 入口網站中的 Azure 機器以及離線案例中的非 Azure 機器,執行疑難排解員。
注意
疑難排解員指令碼目前不會透過 Proxy 伺服器 (如已設定) 路由流量。
啟動疑難排解員
若為 Azure 機器,請在入口網站的 [更新代理程式整備程度] 資料行下選取疑難排解連結,即可開啟 [對更新代理程式進行疑難排解] 頁面。 針對非 Azure 機器,此連結會連往本文。 若要對非 Azure 機器進行疑難排解,請參閱<離線疑難排解>一節中的指示。
注意
VM 必須處於執行中狀態,才能進行檢查。 若 VM 未執行,將會出現 [啟動 VM]。
在 [對更新代理程式進行疑難排解] 頁面上,選取 [執行檢查] 以啟動疑難排解員。 疑難排解員會使用執行命令,在機器上執行指令碼,以驗證相依性。 疑難排解員完成後,會傳回檢查結果。
當檢查完成後,會在視窗中傳回結果。 檢查區段會提供有關每個檢查所尋找項目的資訊。
先決條件檢查
作業系統
作業系統檢查會驗證混合式 Runbook 背景工作角色是否正在執行其中一種支援的作業系統。
Dmidecode 檢查
若要確認 VM 是否為 Azure VM,請使用下列命令檢查資產標籤值:
sudo dmidecode
如果資產標籤與 7783-7084-3265-9085-8269-3286-77 不同,請重新啟動 VM 以起始重新註冊。
監視代理程式服務健康情況檢查
監視代理程式
若要修正此問題,請安裝 Azure Log Analytics Linux 代理程式,並確定其會傳達所需的端點。 如需詳細資訊,請參閱<在 Linux 電腦上安裝 Log Analytics 代理程式>。
此工作會檢查資料夾是否存在 -
/etc/opt/microsoft/omsagent/conf/omsadmin.conf
監控代理程式已啟動
若要修正此問題,您必須使用下列命令啟動 OMS 代理程式服務:
sudo /opt/microsoft/omsagent/bin/service_control restart
若要驗證,您可以使用下列命令來執行進程檢查:
process_name="omsagent"
ps aux | grep %s | grep -v grep" % (process_name)"
如需詳細資訊,請參閱<針對適用於 Linux 的 Log Analytics 代理程式問題進行疑難排解>
多路連接
此檢查會判斷代理程式是否正在回報給多個工作區。 更新管理不支援多路連接。
若要修正此問題,請完全清除 OMS 代理程式,並使用與更新管理連結的工作區重新安裝
藉由檢查此路徑下的目錄,驗證沒有其他多路連接:
/var/opt/microsoft/omsagent.
當這些是工作區的目錄時,目錄數目等於上線至 OMSAgent 的工作區數目。
Hybrid Runbook Worker
若要修正此問題,請執行下列命令:
sudo su omsagent -c 'python /opt/microsoft/omsconfig/Scripts/PerformRequiredConfigurationChecks.py'
此命令會強制 omsconfig 代理程式與 Azure 監視器進行通訊,以擷取最新的設定。
驗證以檢查下列兩個路徑是否存在:
/opt/microsoft/omsconfig/modules/nxOMSAutomationWorker/VERSION </br> /opt/microsoft/omsconfig/modules/nxOMSAutomationWorker/DSCResources/MSFT_nxOMSAutomationWorkerResource/automationworker/worker/configuration.py
混合式 Runbook 背景工作狀態
此檢查確保混合式 Runbook 背景工作正在機器上執行。 若混合式 Runbook 背景工作角色正常執行,則應會出現下列範例的處理序。
ps -ef | grep python
nxautom+ 8567 1 0 14:45 ? 00:00:00 python /opt/microsoft/omsconfig/modules/nxOMSAutomationWorker/DSCResources/MSFT_nxOMSAutomationWorkerResource/automationworker/worker/main.py /var/opt/microsoft/omsagent/state/automationworker/oms.conf rworkspace:<workspaceId> <Linux hybrid worker version>
nxautom+ 8593 1 0 14:45 ? 00:00:02 python /opt/microsoft/omsconfig/modules/nxOMSAutomationWorker/DSCResources/MSFT_nxOMSAutomationWorkerResource/automationworker/worker/hybridworker.py /var/opt/microsoft/omsagent/state/automationworker/worker.conf managed rworkspace:<workspaceId> rversion:<Linux hybrid worker version>
nxautom+ 8595 1 0 14:45 ? 00:00:02 python /opt/microsoft/omsconfig/modules/nxOMSAutomationWorker/DSCResources/MSFT_nxOMSAutomationWorkerResource/automationworker/worker/hybridworker.py /var/opt/microsoft/omsagent/<workspaceId>/state/automationworker/diy/worker.conf managed rworkspace:<workspaceId> rversion:<Linux hybrid worker version>
更新管理會從作業端點下載混合式 Runbook 背景工作角色套件。 因此,若混合式 Runbook 背景工作角色未執行,而且作業端點檢查失敗,則更新會失敗。
若要修正此問題,請執行下列命令:
sudo su omsagent -c 'python /opt/microsoft/omsconfig/Scripts/PerformRequiredConfigurationChecks.py'
此命令會強制 omsconfig 代理程式與 Azure 監視器進行通訊,以擷取最新的設定。
如果問題仍然存在,請執行 omsagent 記錄收集器工具
連線能力檢查
是否已啟用 Proxy 的檢查
若要修正此問題,請移除 Proxy,或確定 Proxy 位址能夠存取必要條件 URL。
您可以執行下列命令來驗證工作:
HTTP_PROXY
IMDS 連線檢查
若要修正此問題,請允許存取 IP 169.254.169.254。 如需詳細資訊,請參閱<存取 Azure Instance Metadata Service>。
網路變更之後,您可以重新執行疑難排解員,或執行下列命令來驗證:
curl -H \"Metadata: true\" http://169.254.169.254/metadata/instance?api-version=2018-02-01
一般網際網路連線
這項檢查可確保電腦可以存取網際網路,而且如果您已封鎖網際網路且只允許特定 URL,則可以忽略。
任何 HTTP URL 上的 CURL。
註冊端點
此檢查會判斷混合式 Runbook 背景工作角色是否能夠正常地與 Log Analytics 工作區中的 Azure 自動化進行通訊。
Proxy 和防火牆設定必須允許「混合式 Runbook 背景工作角色」代理程式與註冊端點進行通訊。 如需打算開啟的位址與連接埠清單,請參閱<網路規劃>。
藉由允許必要條件 URL 來修正此問題。 如需詳細資訊,請參閱<啟用更新管理和變更追蹤和清查的權限>
張貼網路變更,您可以在提供的 jrds 端點上重新執行疑難排解員或 CURL。
作業端點
此檢查會判斷 Log Analytics 代理程式是否能夠正確地與 Job Runtime Data Service (作業執行階段資料服務) 進行通訊。
Proxy 和防火牆設定必須允許「混合式 Runbook 背景工作角色」代理程式與「作業執行階段資料服務」進行通訊。 如需打算開啟的位址與連接埠清單,請參閱網路規劃。
Log Analytics 端點 1
此檢查會確認您的機器有權存取 Log Analytics 代理程式所需的端點。
藉由允許必要條件 URL來修正此問題。
進行網路變更後,您可以在提供的 ODS 端點上重新執行疑難排解員或 Curl。
Log Analytics 端點 2
此檢查會確認您的機器有權存取 Log Analytics 代理程式所需的端點。
藉由允許必要條件 URL來修正此問題。
進行網路變更後,您可以在提供的 OMS 端點上重新執行疑難排解員或 Curl
軟體存放庫
藉由允許必要條件存放庫 URL 來修正此問題。 如需 RHEL,請參閱這裡。
進行網路變更後,您可以重新執行疑難排解員或
套件管理員中設定的軟體存放庫 Curl。
重新整理存放庫有助於確認通訊。
sudo apt-get check
sudo yum check-update
注意
檢查僅適用於離線模式。
離線疑難排解
您可以藉由在本機執行指令碼,在「混合式 Runbook 背景工作角色」上離線使用疑難排解員。 可以在 GitHub 中找到 Python 指令碼 UM_Linux_Troubleshooter_Offline.py。
注意
疑難排解程式指令碼的目前版本不支援 Ubuntu 20.04。
以下範例顯示此指令碼的輸出範例:
Debug: Machine Information: Static hostname: LinuxVM2
Icon name: computer-vm
Chassis: vm
Machine ID: 00000000000000000000000000000000
Boot ID: 00000000000000000000000000000000
Virtualization: microsoft
Operating System: Ubuntu 16.04.5 LTS
Kernel: Linux 4.15.0-1025-azure
Architecture: x86-64
Passed: Operating system version is supported
Passed: Microsoft Monitoring agent is installed
Debug: omsadmin.conf file contents:
WORKSPACE_ID=00000000-0000-0000-0000-000000000000
AGENT_GUID=00000000-0000-0000-0000-000000000000
LOG_FACILITY=local0
CERTIFICATE_UPDATE_ENDPOINT=https://00000000-0000-0000-0000-000000000000.oms.opinsights.azure.com/ConfigurationService.Svc/RenewCertificate
URL_TLD=opinsights.azure.com
DSC_ENDPOINT=https://scus-agentservice-prod-1.azure-automation.net/Accou nts/00000000-0000-0000-0000-000000000000/Nodes\(AgentId='00000000-0000-0000-0000-000000000000'\)
OMS_ENDPOINT=https://00000000-0000-0000-0000-000000000000.ods.opinsights .azure.com/OperationalData.svc/PostJsonDataItems
AZURE_RESOURCE_ID=/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/re sourcegroups/myresourcegroup/providers/microsoft.compute/virtualmachines/linuxvm 2
OMSCLOUD_ID=0000-0000-0000-0000-0000-0000-00
UUID=00000000-0000-0000-0000-000000000000
Passed: Microsoft Monitoring agent is running
Passed: Machine registered with log analytics workspace:['00000000-0000-0000-0000-000000000000']
Passed: Hybrid worker package is present
Passed: Hybrid worker is running
Passed: Machine is connected to internet
Passed: TCP test for {scus-agentservice-prod-1.azure-automation.net} (port 443) succeeded
Passed: TCP test for {eus2-jobruntimedata-prod-su1.azure-automation.net} (port 4 43) succeeded
Passed: TCP test for {00000000-0000-0000-0000-000000000000.ods.opinsights.azure. com} (port 443) succeeded
Passed: TCP test for {00000000-0000-0000-0000-000000000000.oms.opinsights.azure. com} (port 443) succeeded
Passed: TCP test for {ods.systemcenteradvisor.com} (port 443) succeeded