Sun Java System Instant Messaging 7.2 管理指南

第 19 章 疑難排解與監視 Instant Messaging

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

如需管理伺服器、多重訊號處理器、監視程式、Calendar 代理程式、用戶端記錄及預設記錄檔案位置的詳細資訊,請參閱第 13 章, 管理 Instant Messaging 的記錄

疑難排解 Instant Messenger

Instant Messenger 提供兩種協助您疑難排解用戶端的方法。您可收集關於用戶端系統執行階段的資訊,並依需求產生 Instant Messenger 記錄檔案。

取得 Instant Messenger 執行時間資訊

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

Procedure從 [關於] 對話方塊中取得 Instant Messenger 執行時間資訊

  1. 在 Instant Messenger 中,請選取 [說明]->[關於] 。

    出現 [關於] 對話方塊。

  2. 選取 [詳細資料] 標籤。

    [詳細資料] 標籤包含當疑難排解問題時,您可使用的用戶端系統相關資訊。

取得 Instant Messenger 記錄檔

您可依需求產生用戶端記錄檔。依預設,不會產生記錄檔。如需配置用戶端記錄的相關資訊,請參閱管理 Instant Messenger 記錄

問題與解決方案

下方列出的是部份問題及其可能的原因,以及有助於疑難排解這些問題的資訊:

無法從用戶端連線至 Instant Messaging 重新導向伺服器

您必須使用支援 XMPP 重新導向的用戶端,才能成功部署重新導向伺服器。使用 Instant Messenger 2006Q1 或更新版本。如果您使用協力廠商用戶端,請確定用戶端支援 XMPP 重新導向。

無法透過 XMPP/HTTP 閘道登入至 Instant Messenger

如果 XMPP/HTTP 閘道正在為兩個網域服務,且 im.jnlp 檔案僅包含一個網域的引數,不在列出之網域內的使用者則無法進行身份認證。例如,如果 im.jnlp 檔案包含下列引數:


<argument>domain=mydomain.siroe.com</argument>

嘗試從 mydomain 之外的網域登入的使用者會收到錯誤,且無法進行身份認證。若要解決此問題,您需要配置 Instant Messenger 以便認證其他網域。

Procedure配置 Instant Messenger 以認證特定網域

  1. 開啟 im.jnlp 資源檔案。

  2. 移除網域引數項目。

    例如,移除:


    <argument>domain=mydomain.siroe.com</argument>
  3. 再次下載 Instant Messenger。

  4. 執行 Instant Messenger。

    會顯示 [登入] 頁面。

  5. 按一下 [詳細資料]。

    會展開 [登入] 頁面以顯示用戶端的連線設定。

  6. 在 [伺服器] 文字方塊中,輸入前往閘道的 URL,並後接 ?to=domain

    例如,如果使用者是 mydomain.siroe.com 中的一員,請將下列內容後接至 URL:


    ?to=mydomain.siroe.com
  7. 若要測試配置,請使用有效的使用者名稱與密碼登入。

Sun JavaTM System Portal Server 7 2006Q1 或更新版本未歸檔訊息

如果您已使用 Sun Java System Portal Server 7 2006Q1 或更新的版本設定「Portal 歸檔」,但是沒有歸檔您的訊息,請確定是否已在 iim.conf 中設定 iim_arch.portal.search 參數:


iim_arch.portal.search="Portal Server Search URL"

其中 Portal Server Search URL 是 Portal Server 的搜尋 URL:例如:


iim_arch.portal.search="http://portal.siroe.com:8080/search1/search"

執行 patchrmpatchadd 後遺失 Instant Messenger 資源自訂值

(問題號碼:6361796) patchrmpatchadd 程序會重新部署用戶端資源。這樣做會覆寫所有的自訂檔案。在您執行這些動作前,需要備份任何想要儲存的自訂檔案。

無法將郵件轉寄給離線使用者

依預設,Instant Messaging 會使用 mail 屬性來決定收信人離線時,要轉寄即時訊息的電子郵件地址。如果您的目錄中電子郵件地址未使用 mail 屬性,則您需要配置 Instant Messaging 確保與目錄使用相同的屬性。

Procedure配置用於使用者電子郵件地址的屬性

  1. 開啟 iim.conf

    如需找到並修改 iim.conf 的說明,請參閱iim.conf 檔案語法

  2. iim_ldap.user.mailattr 參數的值變更為您的目錄中在使用者項目中包含電子郵件地址時使用的屬性。

行事曆快顯提醒無效

如果無法如預期地傳遞行事曆快顯,則您可如本節所述疑難排解相關配置問題。如需設定行事曆快顯的說明,請參閱第 16 章, 使用行事曆快顯提醒

行事曆快顯配置中最常見的錯誤是在配置檔案中輸入的參數名稱不正確。這包含錯字與拼錯的參數名稱。請確定您在 iim.conf ics.conf 中輸入的所有的配置參數與值正確無誤。如果您已配置快顯,請參考表 A–11 來比較您的輸入內容與需要的參數。

如果您的 Instant Messaging 與 Calendar Server 配置檔案正確,但還是無法如預期地達成快顯,請確定是否已正確配置 Calendar 用戶端與 Instant Messenger。

Procedure疑難排解 Calendar 用戶端與 Instant Messenger 配置以傳遞快顯

  1. 登入 Calendar 用戶端。

  2. 請確定時區設定正確。

    如果您正在使用 Calendar Express,請從功能表中選取 [工具]->[選項]->[設定]。

  3. 排程電子郵件提醒。

    如果您正在使用 Calendar Express,請從功能表選取 [工具]->[選項]->[設定]。

  4. 儲存您的設定。

  5. 以相同的使用者登入 Instant Messenger。

  6. 選取 [工具]->[設定]。

    會顯示 [設定] 對話方塊。

  7. 選取 [警示] 標籤。

  8. 核取 [顯示行事曆提醒] 核取方塊,並按一下 [確定]。

  9. 讓 Instant Messenger 使用者保持登入狀態。

  10. 核查在 Calendar 用戶端所配置的時間使用者是否能夠收到電子郵件警示與快顯。

    如果您並未收到電子郵件警示,則表示未正確配置 Calendar 用戶端。請參閱 Calendar 用戶端文件以取得疑難排解的詳細資訊。

    如果您已收到電子郵件警示,但沒收到行事曆快顯,並且您確定已正確配置伺服器與用戶端,請檢查 xmppd.log 以取得詳細資訊。您也可能需要將此記錄檔設定為記錄更加詳細的內容,例如 DEBUG。如需變更記錄層級的說明,請參閱使用 iim.conf 參數設定 Instant Messaging 元件的記錄層級

單次登入無效

如果您的 Sun Java System Access Manager 使用 SSO 功能,則必須配置 Access Manager 伺服器與 Instant Messaging 伺服器以使用相同的 Web 容器。

無法載入或啟動 Instant Messenger

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

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

連線遭拒或逾時

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

何處可取得診斷資訊:

認證錯誤

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

何處可取得診斷資訊:

Instant Messenger 通道顯示錯誤

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

何處可取得診斷資訊:

Instant Messaging 伺服器與 Instant Messaging 通道記錄檔。

未歸檔 Instant Messaging 內容

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

何處可取得診斷資訊:

Instant Messaging 伺服器與歸檔記錄檔案。

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

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

何處可取得診斷資訊:

兩個伺服器的 Instant Messaging 伺服器記錄檔案。

嚴重安裝錯誤使得伺服器的狀態不穩定

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

Procedure手動移除所有 Instant Messaging 元件

  1. 備份任何在未來安裝時可能需要的資訊。

    如需說明,請參閱備份 Instant Messaging 資料

  2. 手動編輯產品登錄資訊。

    在 Solaris 9 中,執行下列指令:


    prodreg(1)
    

    對於所有其他的作業系統:

    1. 編輯 productregistry.xml 檔案並從中移除所有 Instant Messaging 元素。

      依預設,productregistry XML 檔案儲存在下列位置:

      • Solaris:/var/sadm/install/productregistry

      • Linux:/var/tmp/productregistry

    2. 如果還繼續顯示下列的套裝軟體或 RPM,請移除它們:

      • SUNWiim

      • SUNWiimc

      • SUNWiimd

      • SUNWiimid

      • SUNWiimin

      • SUNWiimjd

      • SUNWiimm

      • SUNWiimc-l10n

      • SUNWiimd-l10n

      • SUNWiimid-l10n

      • SUNWiimin-l10n

Access Manager 主控台 (amconsole) 未顯示 Instant Messaging 服務

如果 Instant Messaging 在 Sun Java System Application Server 部署中使用 Access Manager 策略,則當您完成配置 Instant Messaging 時,需要重新啟動 Application Server。如果您沒有重新啟動 Application Server,則 Access Manager 主控台 (amconsole ) 中不會顯示 Instant Messaging 服務。

疑難排解 Instant Messaging 與 LDAP

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

使用不允許匿名連結的目錄

依預設,Instant Messaging 伺服器會執行 LDAP 目錄匿名搜尋。然而,通常網站會防止在其目錄中進行匿名搜尋,這樣任意使用者便無法搜尋並擷取所有資訊。如果將您的網站目錄配置為禁止這樣的匿名搜尋,並且安裝後配置時您也並未提供連結憑證,則需要以 Instant Messaging 可用於連結與執行搜尋的使用者 ID 與密碼來配置 Instant Messaging 伺服器的需求。

使用 iim_ldap.usergroupbinddniim_ldap.usergroupbindcred 參數來配置必需的憑證。

Procedure配置 Instant Messaging 伺服器的連結憑證

  1. 開啟 iim.conf

    如需找到並修改 iim.conf 的說明,請參閱iim.conf 檔案語法

  2. 指定您要伺服器連結至目錄時所用的 DN,做為 iim_ldap.usergroupbinddn 的值。


    iim_ldap.usergroupbinddn=bind-DN
    
  3. 指定與連結 DN 對應的密碼,做為 iim_ldap.usergroupbindcred 的值。


    iim_ldap.usergroupbindcred=password
    
  4. 儲存並關閉檔案。

使用 cn 之外的屬性顯示連絡人名稱

您可自訂 Instant Messenger 顯示連絡人名稱的方式。Instant Messenger 用來顯示連絡人名稱的預設屬性是 cn。連絡人名稱會顯示為 First NameLast Name。例如,Frank SmithMary Jones 等。

使用 iim_ldap.userdisplayiim_ldap.groupdisplay 參數來指定要用來顯示連絡人名稱的屬性。

Procedure變更用於顯示連絡人名稱的屬性

  1. 開啟 iim.conf

    請參閱iim.conf 檔案語法以取得尋找與修改 iim.conf 的指引。

  2. 指定您想用來顯示使用者名稱以做為 iim_ldap.userdisplay 值的屬性。


    iim_ldap.userdisplay=user-name-attribute
    
  3. 指定您想用來顯示群組名稱以做為 iim_ldap.groupdisplay 值的屬性。


    iim_ldap.groupdisplay=group-name-attribute
    
  4. 儲存並關閉檔案。

使用萬用字元搜尋目錄

如果已將您的目錄索引設定為允許使用萬用字元,且您想要在搜尋連絡人名稱時能夠使用萬用字元,則需要將 Instant Messaging 伺服器配置為允許萬用字元搜尋。然而,允許萬用字元搜尋可能會影響效能,除非將使用者 ID 索引設定為子字串搜尋。如需在 Instant Messaging 中允許萬用字元搜尋的說明,請參閱連修改用戶端使用者搜尋連絡人的方式

針對使用者與群組使用非標準物件類別

如果您的目錄使用非標準物件類別來定義使用者與群組,則您需要變更適當的 iim_ldap.* 參數,以的值來取代 inetorgpersongroupofuniquenames

如需 LDAP 參數的清單,請參閱LDAP 和使用者註冊配置參數

Procedure變更用於指定使用者與群組的物件類別

  1. 開啟 iim.conf

    如需找到並修改 iim.conf 的說明,請參閱iim.conf 檔案語法

  2. 搜尋 inetorgperson,並以您目錄中用於定義使用者的物件類別來取代。

  3. 搜尋 groupofuniquenames,並以您目錄中用於定義群組的物件類別來取代。

  4. 儲存並關閉檔案。

uid 之外的屬性用於使用者認證

如果您的目錄並未將 uid 屬性用於使用者認證,則需要以您目錄所使用的屬性來配置 Instant Messaging 伺服器。依預設,Instant Messaging 會使用 uid 。您也需要變更每個在其值中包含 uid 的篩選參數。

使用 iim_ldap.loginfilter 參數來指定要用於使用者認證的屬性。

Procedure變更用於使用者認證的屬性

  1. 開啟 iim.conf

    請參閱iim.conf 檔案語法以取得尋找與修改 iim.conf 的指引。

  2. 在下列參數中搜尋 uid,並以您要用於使用者認證的屬性來取代:

    • iim_ldap.loginfilter

    • iim_ldap.usergroupbyidsearchfilter

  3. 儲存並關閉檔案。

uid 之外的屬性用於使用者 ID

如果您的目錄並未將 uid 屬性用於使用者 ID,則需要以您目錄中所使用的屬性來配置 Instant Messaging 伺服器。依預設,Instant Messaging 會使用 uid。此外,您應將目錄中的屬性做索引,以幫助抵銷由搜尋未索引屬性所引起的效能延宕。

使用 iim_ldap.user.uidattr 參數來指定要用於使用者 ID 的屬性。

Procedure變更用於使用者 ID 的屬性

  1. 開啟 iim.conf

    請參閱iim.conf 檔案語法以取得尋找與修改 iim.conf 的指引。

  2. 指定您要用於使用者 ID 以做為 iim_ldap.user.uidattr 值的屬性。

    預設值是 uid

    例如,若要使用 loginname 屬性,請將 iim_ldap.user.uidattr 屬性設定如下:

    iim_ldap.user.uidattr=loginname

  3. 儲存並關閉檔案。

  4. 將索引指令增加至 LDAP 中的索引規則:

    index loginname eq

疑難排解多節點部署 (伺服器池) 中的連線問題

如果您正收到伺服器池中的伺服器間並未共用線上狀態的錯誤:

監視 Instant Messaging

Instant Messaging 提供一個協助您監視活動的代理程式。這個代理程式被稱為監視框架管理代理程式,或 mfwk 代理程式。mfwk 代理程式包含於一般代理程式容器 (Common Agent Container,CAC) 中。mfwk 代理程式是與 Instant Messaging 一同安裝的。CAC 會隨 Java ES 一同包裝,並且使用 Java ES 安裝程式進行安裝。如需關於安裝、啟用與管理監視的詳細資訊,以及所監視 Instant Messaging 物件的簡要資訊,請參閱「Sun Java Enterprise System 5 Monitoring Guide」

管理監視程式程序

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

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

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

附錄 CInstant Messaging imadmin 工具參考中有關於 imadmin 的詳細資訊。

確定監視程式的狀態

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

Procedure確定監視程式的狀態

  1. 變更到包含 imadmin 指令行公用程式的目錄:


    cd im-svr-base/sbin
    
  2. 執行 imadmin status


    ./imadmin status watchdog
    

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

啟用和停用監視程式

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

Procedure若要啟用或停用監視程式

  1. 開啟 iim.conf

    如需找到並修改 iim.conf 的說明,請參閱iim.conf 檔案語法

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

    啟用監視程式:iim_wd.enable=true

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

  3. 儲存並關閉 iim.conf 檔案。

  4. 重新整理 Instant Messaging 伺服器配置:


    cd im-svr-base/sbin
    

    ./imadmin refresh
    

管理監視程式的記錄

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

如需為所有 Instant Messaging 元件,包含監視程式設定記錄層級的詳細資訊,請參閱第 13 章, 管理 Instant Messaging 的記錄