共用方式為


針對 Operations Manager 中的 UNIX/Linux 代理程式探索進行疑難排解

本文可協助您針對 UNIX 或 Linux 電腦探索程式期間可能會遇到的常見錯誤進行疑難解答。

原始產品版本: System Center Operations Manager
原始 KB 編號: 4490426

若要監視 System Center Operations Manager (OpsMgr) 中的 UNIX 或 Linux 計算機,必須先探索電腦,而且必須安裝 OpsMgr 代理程式。 [計算機和 裝置管理 精靈] 可用來探索及安裝 UNIX 和 Linux 計算機上的代理程式。 不過,探索程式可能會因為設定問題、認證或權限問題,或網路和名稱解析問題而失敗。

憑證錯誤或憑證簽署錯誤

簽署的憑證驗證作業未成功

當憑證驗證失敗時,您通常會收到類似下列的錯誤:

代理程式驗證失敗。 錯誤詳細資料:目的地電腦上的伺服器證書(lx1.contoso.com:1270)有下列錯誤:
無法檢查 SSL 憑證是否撤銷。 用來檢查撤銷的伺服器可能無法連線。
SSL 憑證包含不符合主機名的通用名稱 (CN)。
有可能:

  1. 目的地憑證是由管理伺服器不信任的另一個憑證授權單位所簽署。
  2. 目的地具有不正確憑證,例如,其一般名稱 (CN) 不符合用於連線的完整網域名稱 (FQDN)。 用於連線的 FQDN 為:lx1.contoso.com。
  3. 資源集區中的伺服器尚未設定為信任集區中其他伺服器所簽署的憑證。
  • 其中一個常見原因是代理程序憑證的一般名稱 (CN) 值不符合提供或解析的完整功能變數名稱 (FQDN)。

    若要確認這一點,請確認代理程式主機的主機名和功能變數名稱符合透過 DNS 解析的 FQDN。

    您可以執行下列命令,在 UNIX 或 Linux 電腦上檢視憑證的基本詳細資料:

    openssl x509 -noout -in /etc/opt/microsoft/scx/ssl/scx.pem -subject -issuer -dates
    

    當您這樣做時,您會看到類似下列的輸出:

    subject= /DC=name/DC=newdomain/CN=newhostname/CN=newhostname.newdomain.name
    issuer= /DC=name/DC=newdomain/CN=newhostname/CN=newhostname.newdomain.name
    notBefore=Mar 25 05:21:18 2008 GMT
    notAfter=Mar 20 05:21:18 2029 GMT

    使用這項資訊來驗證主機名和日期,請確定它們符合 Operations Manager 管理伺服器所解析的名稱。

    如果主機名不相符,請使用下列其中一個動作來解決此問題:

    • 如果 UNIX 或 Linux 主機名正確,但 Operations Manager 管理伺服器解析不正確,請修改 DNS 專案以符合正確的 FQDN,或將專案新增至 Operations Manager 伺服器上的主機檔案。
    • 如果 UNIX 或 Linux 主機名不正確,請執行下列其中一項動作:
      • 將 UNIX 或 Linux 主機上的主機名變更為正確的主機名,並建立新的憑證。
      • 建立具有所需主機名的新憑證。

    若要變更憑證上的名稱:

    如果建立憑證時使用的名稱不正確,您可以變更主機名稱並重新建立憑證和私密金鑰。 若要這樣做,請在 UNIX 或 Linux 電腦上執行下列命令:

    /opt/microsoft/scx/bin/tools/scxsslconfig -f -v
    

    選項 -f 會強制覆寫 /etc/opt/microsoft/scx/ssl 中的檔案。

    您也可以使用 -h-d 參數來變更憑證上的主機名和功能變數名稱,如下列範例所示:

    /opt/microsoft/scx/bin/tools/scxsslconfig -f -h <hostname> -d <domain.name>
    

    執行下列命令,以重新啟動代理程式:

    /opt/microsoft/scx/bin/tools/scxadmin -restart
    

    若要將專案新增至主機檔案:

    如果 FQDN 不在反向 DNS 中,您可以新增項目到位於管理伺服器的主機檔案,以提供名稱解析。 hosts 檔案位於 \Windows\System32\Drivers\etc 資料夾中。 主機檔案中的項目是 IP 位址和 FQDN 的組合。

    例如,若要新增名為 newhostname.newdomain.name 且IP位址為192.168.1.1的主機專案,請將下列內容新增至主機檔案的結尾:

    192.168.1.1 newhostname.newdomain.name

  • 此錯誤的另一個常見原因是憑證已由不受信任的授權單位簽署,例如當多個管理伺服器是用於探索的資源集區成員,但管理伺服器之間尚未設定憑證信任時。

    若要確認這一點,請確認資源集區中用於探索的所有管理伺服器都會信任彼此伺服器的憑證。

    如需如何管理 UNIX 和 Linux 計算機資源集區的詳細資訊,請參閱 管理 UNIX 和 Linux 計算機的資源集區

使用者名稱或密碼不正確

嘗試探索 UNIX/Linux 代理程式時,您可能會看到錯誤。 探索 UNIX/Linux 計算機時,憑證驗證步驟可能會發生失敗。

可能的原因

  • 當 UNIX/Linux 代理程式未加入網域且無法使用 Kerberos 驗證時,基本身份驗證會在 UNIX/Linux 資源集區中的一或多個管理伺服器上設定 false 為 。 您可以執行下列命令來驗證目前的 WinRM 設定: winrm get winrm/config/client
  • 使用者名稱或密碼不正確。

解決方法

您可以在 UNIX/Linux 資源集區中的管理伺服器上更新 WinRM 組態,以允許基本身份驗證執行下列命令,或透過組策略設定組態:

winrm set winrm/config/client/auth @{Basic="true"}

注意

上述命令會在下列登錄機碼中設定 DWORD (32 位) 登錄值 (AllowBasic):

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\WinRM\Client

AllowBasic 允許 1 [已啟用] 或 0 [已停用] 十進位值。

憑證簽署作業失敗

可能的原因

  • 為探索指定的使用者帳戶沒有足夠的許可權來執行與簽署相關的檔案作業。
  • 未正確設定為探索所指定用戶帳戶的 Sudo 提高許可權。

解決方法

若要修正此問題,請在錯誤詳細數據中檢查 StdErr 輸出,以識別失敗的原因,以驗證用戶帳戶。 也請確認用於憑證簽署之帳戶的 sudo 許可權設定。

網路名稱解析錯誤

無法解析目標位址

這些問題通常屬於下列其中一個類別:

  • 錯誤描述

    無法將IP位址IP位址<>解析為名稱

    原因

    當輸入主機的IP位址進行探索,但IP位址無法解析為 DNS 中的名稱時,就會發生此錯誤(反向查閱)。

    解決方法

    若要修正此問題,請更正反向對應區域的名稱解析 (DNS) 組態,請確定受影響的主機存在名稱對應IP位址。

  • 錯誤描述

    無法將名稱解析為IP位址 server.contoso.com

    原因

    如果輸入主機的 FQDN 進行探索,但名稱無法解析為 DNS 中的 IP 位址,就會發生此錯誤(正向查閱)。

    解決方法

    若要修正此問題,請更正正向查閱的名稱解析 (DNS) 組態,請確定主機的主機名與IP位址對應存在。

DNS 設定:轉送 DNS 解析不符合反向 DNS 解析

錯誤描述

在此情況下,您通常會收到類似下列的錯誤:

提供的主機名 ServerName 解析為 10.137.216.x 的 IP 位址。 反向查閱IP位址192.168.x.x所傳回的主機名 ServerName.contoso.com 不符合提供的主機名。 確認 DNS 設定,然後重試要求。

原因

最常見的原因是,正向和反向 DNS 對應區域中主機的記錄不相符。

解決方法

若要修正此問題,請更正 DNS 中正向和反向對應區域中的記錄,使主機名和 IP 位址相符。

無法連線到目標位址

錯誤描述

在此情況下,您通常會收到類似下列的錯誤:

WinRM 用戶端無法在指定的時間內完成作業。 檢查電腦名稱是否有效,且可透過網路進行連線,而且已啟用 Windows 遠端系統管理服務的防火牆例外狀況。

可能的原因

  • 主機因名稱解析、網路中斷或主機中斷而無法連線。
  • 網路或主機型防火牆封鎖對目標主機的 TCP 連接埠 1270 連線。

解決方法

若要修正此問題,請確認管理伺服器可以使用其 FQDN 偵測代理程式主機。 也請確認沒有網路防火牆或主機防火牆封鎖 TCP 埠 1270。

未預期的 discoveryResult.ErrorData 類型。 請提出錯誤報告 - 參數名稱: s

錯誤描述

Unexpected DiscoveryResult.ErrorData 類型。 請提出錯誤報告。
ErrorData:System.ArgumentNullException
值不可以是 null。
參數名稱:s
at System.Activities.WorkflowApplication.Invoke(Activity activity, IDictionary'2 inputs, WorkflowInstanceExtensionManager extensions, TimeSpan timeout)
at System.Activities.WorkflowInvoker.Invoke(Activity workflow, IDictionary'2 inputs, TimeSpan timeout, WorkflowInstanceExtensionManager extensions)
at Microsoft.SystemCenter.CrossPlatform.ClientActions.DefaultDiscovery.InvokeWorkflow(IManagedObject managementActionPoint, DiscoveryTargetEndpoint criteria, IInstallableAgents installableAgents)

原因

此錯誤是因為已在 UNIX 或 Linux 資源集區中的管理伺服器上設定 WinHTTP Proxy 設定,而您嘗試探索的 UNIX 或 Linux 代理程式的 FQDN 並未包含在 WinHTTP Proxy 略過清單中。

解決方法

若要修正此問題,請將 UNIX 或 Linux FQDN 新增至 WinHTTP Proxy 略過清單。

在 UNIX 或 Linux 資源集區中的管理伺服器上,於提升許可權的命令提示字元中執行下列命令,以確認目前的 Proxy 組態:

netsh winhttp show proxy

如果已設定 WinHTTP Proxy 伺服器,請執行下列命令,以新增您嘗試探索到略過清單的伺服器 FQDN:

netsh winhttp set proxy proxy-server="<proxyserver:port>" bypass-list="*.ourdomain.com;*.yourdomain.com*;<serverFQDN>"

設定略過清單之後,請檢查代理程式探索是否成功。

注意

您可以執行 netsh winhttp reset proxy 命令來停用 WinHTTP Proxy。 此命令會移除 Proxy 伺服器並設定直接存取。

未預期的 discoveryResult.ErrorData 類型。 請提出錯誤報告 - 參數名稱:lhs

錯誤描述

探索未成功
訊息:未指定的失敗
詳細數據:Unexpected DiscoveryResult.ErrorData 類型。 請提出錯誤報告。
ErrorData:System.ArgumentNullException
值不可以是 null。
參數名稱:lhs
at System.Activities.WorkflowApplication.Invoke(Activity activity, IDictionary'2 inputs, WorkflowInstanceExtensionManager extensions, TimeSpan timeout)
at System.Activities.WorkflowInvoker.Invoke(Activity workflow, IDictionary'2 inputs, TimeSpan timeout, WorkflowInstanceExtensionManager extensions)
at Microsoft.SystemCenter.CrossPlatform.ClientActions.DefaultDiscovery.InvokeWorkflow(IManagedObject managementActionPoint, DiscoveryTargetEndpoint criteria, IInstallableAgents installableAgents)

原因

此錯誤是因為已安裝的 kits 資料夾中的 omsagent 殼層檔案所導致。

解決方法

瀏覽至 檔案總管 中的下列目錄:

C:\Program Files\Microsoft System Center\Operations Manager\Server\AgentManagement\UnixAgents\DownloadedKits

如果列出 omsagent 檔案,請將它們移至 System Center Operations Manager (SCOM) 檔案外部的暫存目錄。

如需範例,請參閱下列螢幕快照:

顯示 DownloadedKits 資料夾中 omsagent 檔案的螢幕快照。

DownloadedKits 資料夾移動之後,請重試探索。 探索現在應該會成功。

注意

探索可能會因為不同的錯誤而失敗。 錯誤表示需要更多疑難解答,例如 sudoers、connectivity 等等。

SSH 連線錯誤

在 SSH 探索期間失敗。 結束代碼:-1073479162

錯誤描述

標準輸出:
標準誤差:
例外狀況訊息:例外狀況(-1073479162)導致 SSH 命令失敗 - 無法建立連線,因為目標計算機主動拒絕它。

可能的原因

  • SSH 精靈未在目標系統上執行。
  • 網路或主機型防火牆會防止 TCP 連接埠 22 上的 SSH 連線。

決議

  • 確認 SSH 精靈正在執行。
  • 確認沒有網路防火牆或主機防火牆封鎖 TCP 埠 22。

在 SSH 探索期間失敗。 結束代碼:-1073479118

錯誤描述

在 SSH 探索期間失敗。 結束代碼:-1073479118
標準輸出:
標準誤差:
例外狀況訊息:例外狀況 (-1073479118) 導致 SSH 命令失敗 - 伺服器傳送的中斷連線訊息:類型 2(通訊協定錯誤:根目錄的驗證失敗太多)

可能的原因

  • 不允許針對探索指定的用戶帳戶透過 SSH 登入。
  • 針對探索指定的使用者帳戶是輸入無效的使用者名稱或密碼

決議

  • 確認允許使用者透過 SSH 登入。
  • 確認輸入認證,以及使用者已在目標主機上定義。

在 SSH 探索期間失敗。 結束代碼:1

錯誤描述

在 SSH 探索期間失敗。 結束代碼:1
標準輸出:Sudo 路徑:/usr/bin/
標準錯誤:sudo:很抱歉,您必須有 tty 才能執行 sudo
例外狀況訊息:

原因

在使用者認證輸入中選取了 Sudo 提高許可權,但是 requiretty sudoers 中的使用者並未停用此選項。

解決方法

使用 visudo 命令編輯目標主機上的 sudoers 檔案,然後新增下列這一行:

默認值: <username>!requiretty

如需詳細資訊,請參閱 如何設定sudo提高許可權和SSH金鑰

無效的 SU 密碼

錯誤描述

.[?1034hopsuser@lx1:~> su - root -c 'sh /tmp/scx-opsuser/GetOSVersion.sh;EC=$?;rm -rf /tmp/scx-opsuser;exit $EC'
密碼:
exit
su:不正確的密碼
opsuser@lx1:~> 結束
登出

可能的原因

在使用者認證輸入中選取 Su 提高許可權,但已針對 su 提高許可權提供無效的根密碼。

解決方法

在 [提高許可權設定] 對話框中確認根目錄的密碼輸入。

在 SSH 探索期間失敗。 結束代碼:-2147221248

  • 錯誤描述

    在 SSH 探索期間失敗。 結束代碼:-2147221248
    標準輸出:
    標準錯誤:無法傳回主目錄 /home/username:沒有這類檔案或目錄

    原因

    為探索指定的使用者帳戶沒有主目錄。

    解決方法

    確認使用者具有位於:/home/ 的主目錄,且用戶能夠寫入此目錄。

  • 錯誤描述

    在 SSH 探索期間失敗。 結束代碼:-2147221248
    標準輸出:
    標準錯誤:root 的密碼:
    例外狀況訊息:作業逾時

    原因

    已在使用者認證輸入中選取 Sudo 提高許可權。 不過,為探索指定的用戶帳戶未正確設定為使用無密碼 sudo 提升許可權,或未為探索中使用的用戶帳戶授與必要的 sudo 提高許可權。

    解決方法

    檢閱 sudo 提高許可權設定檔,並確認 sudo 的用戶設定。 請注意,必須設定無密碼sudo。

WSMan 連線錯誤

代理程式已回應要求,但 WSMan 連線因為下列原因而失敗:拒絕存取

可能的原因

  • 已安裝代理程式,且代理程序憑證已簽署。 不過,為代理程序驗證提供的使用者認證無效。
  • 為探索指定的使用者帳戶已設定為使用 SSH 金鑰進行驗證,但提供給代理程式驗證的使用者認證無效。
  • UNIX 端的許可權問題或 PAM 設定不正確。

解決方法

若要修正問題,請依照下列步驟執行:

  1. 確認代理程式驗證的使用者名稱和密碼已正確輸入,且使用者是目標主機上的有效使用者。

  2. 如果問題持續發生,請確認sudo提高許可權已正確設定。

  3. 也請檢查 UNIX/Linux 電腦上的訊息記錄檔。 例如,在 AIX 中,您可以在 下 /var/adm/messages找到記錄檔。 在其他操作系統中,位置可能會有所不同。

    尋找如下幾行:

    9 月 3 日 14:49:07 伺服器驗證|security:debug /opt/microsoft/scx/bin/omiserver PAM:pam_authenticate:驗證失敗。

    如果您在訊息記錄檔中看到類似的行,這表示 PAM 組態檔遺漏了 OMIServer 的相關信息。 PAM 組態檔可以在 目錄或/etc/pam.conf檔案中找到/etc/pam.d/

    將 OMIServer 的相關資訊新增回 PAM 組態檔的最簡單方式,是從頭開始在該電腦上重新安裝 SCX 代理程式。 如果不容易,您可以將與 OMI 相關的行從工作電腦複製到非工作計算機。

WSMan 只有 192.168.x.x 的探索失敗

可能的原因

  • [ 探索類型 ] 選項已設定為 [僅具有已安裝代理程式和已簽署憑證 的計算機],且目標主機已安裝代理程式。 不過,目標主機憑證尚未簽署。 若要使用僅限 WSMan 的探索選項,必須安裝代理程式,而且必須手動簽署憑證。
  • [ 探索類型 ] 選項設定為 [僅具有已安裝代理程式和已簽署憑證的計算機],但目標主機目前未安裝 UNIX/Linux 代理程式。
  • [ 探索類型 ] 選項設定為 [僅具有已安裝代理程式和已簽署憑證的計算機],但 UNIX/Linux 代理程式目前並未執行。
  • [ 探索類型 ] 選項設定為 [僅具有已安裝代理程式和已簽署憑證的計算機],但無法連線到目標主機、網路或主機型防火牆會防止連線或 UNIX/Linux 代理程式目前關閉。

決議

  • 手動簽署憑證。
  • 確認已安裝 UNIX/Linux 代理程式。
  • 將選項變更為 [ 探索所有計算機 ] 以允許 [探索精靈] 執行憑證簽署。
  • 確認 UNIX/Linux 代理程式正在執行,且可連線到目標主機。
  • 確認沒有網路防火牆或主機防火牆無法存取 TCP 埠 1270。

其他錯誤

無法對物件執行工作,因為工作的目標不符合物件的任何類別

原因

在 System Center 2012 Operations Manager 管理群組中,如果匯入的 UNIX/Linux 管理元件是 Operations Manager 2007 R2 版本,就會發生這種情況。

解決方法

匯入 System Center 2012 版的 UNIX/Linux 作業系統管理元件。

已安裝代理程式,且計算機已由 Operations Manager 監視

原因

已在此管理群組中探索到目標主機。

解決方法

您不需要執行任何動作。 您可以從 Operations 控制台的 [系統管理] 窗格中的 [UNIX/Linux 伺服器] 檢視執行代理程式升級或移轉至替代資源集區。

在匯入的管理元件中找不到相符支援的代理程序實例

錯誤描述

在匯入的管理組件中找不到對應的受支援代理程式執行個體。 匯入此平台的管理組件,以探索此電腦。

可能的原因

  • 目標主機正在執行不受支援的作業系統。
  • 尚未匯入目標主機作業系統的正確管理元件。
  • 操作系統的正確管理元件最近已匯入,但尚未完全載入。

決議

  • 確認目標主機正在執行支援的作業系統。
  • 匯入目標主機作業系統和版本的管理元件。
  • 如果匯入管理元件,它可能仍會載入。 請稍候幾分鐘,然後重新執行探索。

無法列舉可安裝的代理程式類型。 相關聯的資源集區可能仍在初始化

錯誤描述

無法列舉可安裝的代理程式類型。 相關聯的資源集區可能仍在初始化。 如果您選取的是新建立的資源集區,請稍候幾分鐘,再使用該資源集區。

可能的原因

  • 例如,在探索中使用的資源集區狀況不良,大部分的成員伺服器都脫機。
  • 最近已建立探索中使用的資源集區,但尚未完全初始化。

解決方法

如果最近建立探索中使用的資源集區,請在幾分鐘后重試探索,以允許集區初始化。 否則,請檢查伺服器上 Operations Manager 事件記錄檔,這些伺服器是用於探索的資源集區成員,以指出問題的來源。

無法將新的代理程式複製到這部計算機

錯誤描述

訊息:無法將新的代理程式複製到這部計算機
詳細資料:
無法複製套件。 結束代碼:-1073479144
標準輸出:
標準誤差:
例外狀況訊息:例外狀況(-1073479144)導致 SSH 命令失敗

原因

資料庫和代理程式存放庫之間的檔案代理程式版本不符。

決議

  • 確認失敗的代理程式都因為版本不符而失敗。 否則,請套用其他疑難解答步驟。
  • 嘗試再次更新失敗的代理程式。 通常每個更新反覆項目期間失敗的代理程式清單會越來越短。
  • 在Linux資源集區或其他集區的所有成員上重新啟動 健全狀況服務,以管理 Unix 或 Linux 機器。 %ProgramFiles%\Microsoft System Center 2012 R2\Operations Manager\Server\AgentManagement\UnixAgents\DownloadedKits檢查資料夾是否檔名正確。 請記得關閉並重新開啟探索精靈。

其他相關資訊

如需詳細資訊,請參閱我們的 TechNet 支援論壇或連絡 Microsoft 支援服務