Sun Java logo     上一頁      目錄      索引      下一頁     

Sun logo
Sun Java System Instant Messaging 7 2005Q1 管理指南 

第 8 章
疑難排解和監視 Instant Messaging

本章列出在 Instant Messaging 安裝與部署期間可能會發生的常見問題,並簡單介紹了監視代理程式。當您嘗試隔離或解決問題時,各種系統元件在作業時所產生的記錄資訊對您而言可能非常有用。此外,您可以使用監視代理程式監視 Instant Messaging 程序的整體狀況,預防問題的發生,以及評估使用層級以幫助您規劃部署規模和限制當機時間。本章的資訊包含在下列章節中:

如需有關管理伺服器、多重訊號組合器、監視程式、Calendar 代理程式、用戶端記錄和預設記錄檔位置的詳細資料與更多資訊,請參閱管理記錄


取得 Instant Messenger 執行階段資訊

您可以從 Instant Messenger 用戶端取得關於用戶端系統的資訊。

    從 [關於] 對話方塊取得關於 Instant Messenger 執行階段的資訊
  1. 在 Instant Messenger 中,從 [說明] 功能表選取 [關於]。
  2. 出現 [關於] 對話方塊。

  3. 選取 [詳細資料] 標籤。
  4. [詳細資料] 標籤包含關於用戶端系統的資訊,您可使用此資訊進行疑難排解。


取得 Instant Messenger 記錄

若要取得 Instant Messenger 記錄,您需要先在用戶端主機上啟用記錄。如需更多說明,請參閱管理用戶端記錄


問題與解決方案

下方列出的是部份問題及其可能的原因,以及解決這些問題的線索:

單次登入無效

如果您正在使用 Sun Java System Access Manager 的 SSO,則必須將 Access Manager 伺服器和 Instant Messaging 伺服器配置為使用相同的 Web 容器。

Messenger 用戶端未載入或啟動

以下是此問題可能的原因:

何處可以取得需要的資訊:

連線遭拒或逾時

以下是此問題可能的原因:

何處可取得診斷資訊:

認證錯誤

以下是此問題可能的原因:

何處可取得診斷資訊:

此外,在使用 Sun Java System Access Manager 的部署中,請確定目錄中的使用者項目包含 iplanet-am-managed-person 物件類別。Instant Messaging 伺服器在 Access Manager 部署中搜尋有效使用者時會使用此物件類別。如需關於此物件類別和 Access Manager 如何使用它的詳細資訊,請參考 Sun Java System Access Manager 文件。

IM 通道顯示錯誤

以下是此問題可能的原因:

何處可取得診斷資訊:

Instant Messaging 內容未歸檔

以下是此問題可能的原因:

何處可取得診斷資訊:

無法開啟伺服器對伺服器的通訊

以下是此問題可能的原因:

何處可取得診斷資訊:

必要的資訊可以透過兩個 Instant Messaging 伺服器記錄檔取得。

嚴重安裝錯誤使得伺服器的狀態不一致

如果在安裝或解除安裝 Instant Messaging 時發生嚴重錯誤,系統可能會成為不一致的狀態。如此將會造成安裝和解除安裝無法完成。在這種情況下,您必須手動地移除所有 Instant Messaging 元件,使得更新安裝能夠開始嘗試進行。清除的程序是由移除套件與登錄資訊兩種動作所組成。

  1. 備份任何在未來安裝時可能需要的資訊。請參閱備份 Instant Messaging 資料
  2. 手動編輯產品登錄資訊。
  3. 在 Solaris 9 中,則發出下列指令:

    prodreg(1)

    在所有其他系統中:

    1. 編輯 productregistry.xml 並從檔案移除所有 Instant Messaging XML 元素。依預設,productregistry XML 檔案儲存在下列位置:
    2. Solaris:/var/sadm/install/productregistry
    3. Linux:/var/tmp/productregistry
    4. 移除下列套件或 RPM (如果它們仍然存在):
      • SUNWiim
      • SUNWiimc
      • SUNWiimd
      • SUNWiimid
      • SUNWiimin
      • SUNWiimjd
      • SUNWiimm


Instant Messaging 與 LDAP 疑難排解

下列 LDAP 問題可能會在給定部署中出現。相應變更 iim.conf 檔案中的 LDAP 參數。

問題:您的目錄不允許匿名連結。依預設,Instant Messaging 伺服器會執行 LDAP 目錄的匿名搜尋。然而,通常網站會防止在其目錄中進行匿名搜尋,這樣任意使用者便無法搜尋並擷取所有資訊。

解決方案:如果您的網站目錄配置為防止此類匿名搜尋,則 Instant Messaging 伺服器需要一個可用於連結並進行搜尋的使用者 ID 和密碼。使用 iim_ldap.usergroupbinddniim_ldap.usergroupbindcred 參數來配置必需的憑證。

問題:您的網站未將 uid 屬性用於使用者認證。

解決方案:使用 iim_ldap.loginfilter 參數設定您的目錄用於認證的屬性。依預設,此參數設定為 uid。同時,變更任何其值中包含 uid 的「篩選器」參數。

問題:變更預設的 Instant Messenger 顯示聯絡人名稱的方式。

解決方案:Instant Messenger 用來顯示聯絡人名稱的預設屬性為 cn。因此,聯絡人名稱會出現為 Frank SmithMary Jones,以此類推。編輯 iim_ldap.userdisplayiim_ldap.groupdisplay 參數為不同屬性,例如 uid

問題:您的目錄被索引為使用萬用字元。

解決方案:變更 iim_ldap.allowwildcardinuid 參數為 True。這項參數決定進行搜尋時是否為使用者 ID 啟用萬用字元。由於大多數目錄安裝僅將使用者 ID 編入索引以進行精確搜尋,因此預設值為 False。除非將使用者 ID 編入索引以進行子字串搜尋,否則將此值設定為 True 可能會影響效能。

問題:您的目錄使用非標準的物件/群組類別。

解決方案:變更適當的 iim_ldap.* 參數,用您的值取代 inetorgpersongroupofuniquenames

問題:您的目錄未將 mail 屬性用於電子郵件位址。如果是這樣,則 Instant Messenger 無法將即時訊息作為電子郵件訊息轉寄給離線使用者。

解決方案:依預設,iim_ldap.user.mailattr 包含 mail 值。變更此值為您的網站的值。

問題:您的目錄使用 uid 以外的屬性作為使用者 ID 屬性。

解決方案:如果屬性 "loginname" 用於使用者 ID 屬性:

iim_ldap.user.uidattr=loginname

新增下列索引指令至 LDAP 中的索引規則:

index login name eq


監視 Instant Messaging

Instant Messaging 提供一個協助您監視活動的代理程式。這個代理程式被稱為監視框架管理代理程式,或 mfwk 代理程式。mfwk 代理程式包含在「一般代理程式容器」(CAC) 之中。在您安裝 Instant Messaging 時安裝 CAC 和 mfwk 代理程式。

mfwk 代理程式透過「Java 監視與管理主控台」(JConsole) 使得 XMPP 模組統計可用。表 8-1 描述代理程式為其顯露狀態和效能度量的 Instant Messaging 服務。

表 8-1  Instant Messaging 由 mfwk 代理程式監視的服務 

類別

服務

說明

認證

認證

認證。

探索

探索

探索請求。

訊息

訊息

關於警示與兩個用戶端之間的一對一對聊天階段作業的資訊,例如訊息傳送的速度。

會議

muc-presence、muc-admin 和 muc-message

會議統計資訊,例如離開或加入會議、會議管理請求和已傳送的會議 (群組聊天) 訊息。

線上狀態

presence-subscribe、presence-unsubscribe、presence-probe 和 presence-authorize

線上狀態資訊,例如更新和訂閱。

隱私權

private-get、private-set、privacy-get 和 privacy-set

隱私權詳細資料。

值勤人

roster-get 和 roster-set

值勤人資訊。

搜尋

搜尋

搜尋統計資訊。

本節提供關於管理和疑難排解 mfwk 代理程式與 JConsole 的資訊,並在以下各節中說明了如何使用代理程式和 JConsole 來監視 Instant Messaging:

管理 mfwk 代理程式

您可使用 mfwkadm 指令行公用程式來管理 mfwk 代理程式。例如,您可以啟動、停止和重新啟動代理程式,以及設定新的和檢視目前的由代理程式執行的效能監視工作。關於使用此公用程式的詳細說明可在 mfwkadm man page 取得。此外,該代理程式在 CAC 內執行。如需關於 CAC 的更多資訊,請參考 cacaoadmcacao man page。本節會提供找到這些 man page 的說明。

    若要存取 mfwkadm 和 CAC man Page
  1. 檢查指令行的 MANPATH 環境變數,確定此處為正確的路徑。
  2. 表 8-2 列出至 man page 的路徑。

    表 8-2  mfwkadm 和 CAC man page 路徑 

    元件

    Solaris 路徑

    Linux 路徑

    mfwkadm

    /opt/SUNWmfwk

    /opt/sun/mfwk

    CAC

    /opt/SUNWcacao/man

    /opt/sun/man

  3. 如果此處沒有正確的路徑,請將 mfwkadm 公用程式和 CAC man page 的位置附加到您的 MANPATH 環境變數。例如,在使用 C shell 的 Solaris 上:
  4. setenv MANPATH=/usr/dt/man:/usr/man:/opt/SUNWmfwk:/opt/SUNWcacao/man

    在 Linux 上,使用至 man page 的路徑更新 /etc/man.config

  5. 驗證 man page 可存取。例如:
  6. man mfwkadm

檢視監視資料

使用 JConsole 來檢視由 mfwk 代理程式顯露的資訊。JConsole 是圖形化的主控台工具,用於監視和管理 Java 應用程式以及網路中的虛擬機器。使用 JConsole,您可以瀏覽伺服器 JVM 並注意到表 8-1 中說明的 Instant Messaging 服務。

如需關於使用 JConsole 的詳細資訊,請參閱以下位置的 JConsole 文件:

http://java.sun.com/j2se/1.5.0/docs/tooldocs/share/jconsole.html

http://java.sun.com/j2se/1.5.0/docs/guide/management/jconsole.html

    若要使用 JConsole 檢視 Instant Messaging 監視資訊
  1. 以超級使用者的身份登入。
  2. CLASSPATH 設定為包含 CAC、JConsole 和 JMX jar 檔案的位置。

  3. 備註

    該指令必須以單行輸入。


    在 Solaris 上:

    /opt/SUNWcacao/lib/cacao_cacao.jar:/opt/SUNWjdmk/5.1/lib/jmxremote_optional.jar:/usr/jdk/entsys-j2se/lib/jconsole.jar

    在 Linux 上:

    /opt/sun/cacao/share/lib/cacao_cacao.jar:/opt/sun/jdmk/5.1/lib/jmxremote_optional.jar:/usr/jdk/entsys-j2se/lib/jconsole.jar

  4. 執行 JConsole。

  5. 備註

    該指令必須以單行輸入。


    在 Solaris 上:

    /usr/jdk/entsys-j2se/bin/java sun.tools.jconsole.JConsole "service:jmx:cacao-jmxmp://localhost;wellknown=true;username=root"

    在 Linux 上:

    /usr/jdk/entsys-j2se/bin/java sun.tools.jconsole.JConsole "service:jmx:cacao-jmxmp://localhost;wellknown=true;username=root"

  6. 在 MBeans 標籤上,展開 XMPP 目錄樹。
  7. 服務屬性及其值列於目錄樹中。如需透過 JConsole 可見的 Instant Messaging 服務的完整清單,請參閱表 8-1

mfwk 代理程式疑難排解

如果您在使用 mfwk 代理程式監視 Instant Messaging 時遇到問題,請確定下列事項:

JConsole 疑難排解

如果您無法顯示 JConsole,請確定下列事項:


管理監視程式程序

監視程式程序監視伺服器和多重訊號組合器元件,並在確定元件未執行時嘗試重新啟動元件。

對於伺服器來說,視伺服器目前的配置而定,監視程式會定期嘗試連線來判定伺服器是否正在執行,或者直接透過多重訊號組合器連線至伺服器。監視程式會嘗試輪詢伺服器的作業狀態,如果無法決定狀態則會嘗試連線到伺服器。如果兩項作業都失敗,監視程式會停止,然後重新啟動伺服器。

在您使用監視程式前,請確認其為啟用狀態,並使用 imadmin check 指令執行。依預設,監視程式在您安裝 Instant Messaging 時就會啟用與執行。

可在附錄 B「Instant Messaging imadmin 工具參考」中取得更多關於 imadmin 公用程式的資訊。

確定監視程式的狀態

您可使用 imadmin 指令行公用程式來檢查監視程式的狀態。

    確定監視程式的狀態
  1. 變更到包含 imadmin 指令行公用程式的目錄:
  2. cd im_svr_base/sbin

  3. 執行 imadmin check
  4. ./imadmin check watchdog

    imadmin 公用程式會傳回監視程式的目前狀態。

啟用和停用監視程式

依預設,監視程式在您安裝 Instant Messaging 時就會啟用。您可透過在 iim.conf 中設定配置參數來停用或啟用監視程式。

    若要啟用或停用監視程式
  1. 變更到包含 iim.conf 檔案的目錄。
  2. cd im_cfg_base

  3. 透過設定 iim_wd.enable 參數來啟用或停用監視程式,如下所示:
  4. 啟用監視程式:iim_wd.enable=true

    停用監視程式:iim_wd.enable=false

  5. 儲存並關閉 iim.conf 檔案。
  6. 更新 Instant Messaging 伺服器配置:
  7. cd im_svr_base/sbin

    ./imadmin refresh

管理監視程式的記錄

您可以使用與管理伺服器、多重訊號組合器和 Calendar 代理程式相同的方式來管理監視程式的記錄。監視程式的記錄檔儲存為 im_db_base/log/iim_wd.log

如需關於所有 Instant Messaging 元件 (包括監視程式) 設定記錄層級的詳細資訊,請參閱管理記錄



上一頁      目錄      索引      下一頁     


文件號碼:819-1490。 Copyright 2005 Sun Microsystems, Inc. 版權所有。