Sun Java System Instant Messaging 7 2005Q1 管理指南 |
第 8 章
疑難排解和監視 Instant Messaging本章列出在 Instant Messaging 安裝與部署期間可能會發生的常見問題,並簡單介紹了監視代理程式。當您嘗試隔離或解決問題時,各種系統元件在作業時所產生的記錄資訊對您而言可能非常有用。此外,您可以使用監視代理程式監視 Instant Messaging 程序的整體狀況,預防問題的發生,以及評估使用層級以幫助您規劃部署規模和限制當機時間。本章的資訊包含在下列章節中:
如需有關管理伺服器、多重訊號組合器、監視程式、Calendar 代理程式、用戶端記錄和預設記錄檔位置的詳細資料與更多資訊,請參閱管理記錄。
取得 Instant Messenger 執行階段資訊您可以從 Instant Messenger 用戶端取得關於用戶端系統的資訊。
從 [關於] 對話方塊取得關於 Instant Messenger 執行階段的資訊
取得 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 元件,使得更新安裝能夠開始嘗試進行。清除的程序是由移除套件與登錄資訊兩種動作所組成。
- 備份任何在未來安裝時可能需要的資訊。請參閱備份 Instant Messaging 資料。
- 手動編輯產品登錄資訊。
在 Solaris 9 中,則發出下列指令:
prodreg(1)
在所有其他系統中:
Instant Messaging 與 LDAP 疑難排解下列 LDAP 問題可能會在給定部署中出現。相應變更 iim.conf 檔案中的 LDAP 參數。
問題:您的目錄不允許匿名連結。依預設,Instant Messaging 伺服器會執行 LDAP 目錄的匿名搜尋。然而,通常網站會防止在其目錄中進行匿名搜尋,這樣任意使用者便無法搜尋並擷取所有資訊。
解決方案:如果您的網站目錄配置為防止此類匿名搜尋,則 Instant Messaging 伺服器需要一個可用於連結並進行搜尋的使用者 ID 和密碼。使用 iim_ldap.usergroupbinddn 和 iim_ldap.usergroupbindcred 參數來配置必需的憑證。
問題:您的網站未將 uid 屬性用於使用者認證。
解決方案:使用 iim_ldap.loginfilter 參數設定您的目錄用於認證的屬性。依預設,此參數設定為 uid。同時,變更任何其值中包含 uid 的「篩選器」參數。
問題:變更預設的 Instant Messenger 顯示聯絡人名稱的方式。
解決方案:Instant Messenger 用來顯示聯絡人名稱的預設屬性為 cn。因此,聯絡人名稱會出現為 Frank Smith、Mary Jones,以此類推。編輯 iim_ldap.userdisplay 和 iim_ldap.groupdisplay 參數為不同屬性,例如 uid。
問題:您的目錄被索引為使用萬用字元。
解決方案:變更 iim_ldap.allowwildcardinuid 參數為 True。這項參數決定進行搜尋時是否為使用者 ID 啟用萬用字元。由於大多數目錄安裝僅將使用者 ID 編入索引以進行精確搜尋,因此預設值為 False。除非將使用者 ID 編入索引以進行子字串搜尋,否則將此值設定為 True 可能會影響效能。
問題:您的目錄使用非標準的物件/群組類別。
解決方案:變更適當的 iim_ldap.* 參數,用您的值取代 inetorgperson 和 groupofuniquenames。
問題:您的目錄未將 mail 屬性用於電子郵件位址。如果是這樣,則 Instant Messenger 無法將即時訊息作為電子郵件訊息轉寄給離線使用者。
解決方案:依預設,iim_ldap.user.mailattr 包含 mail 值。變更此值為您的網站的值。
問題:您的目錄使用 uid 以外的屬性作為使用者 ID 屬性。
解決方案:如果屬性 "loginname" 用於使用者 ID 屬性:
iim_ldap.user.uidattr=loginname
新增下列索引指令至 LDAP 中的索引規則:
index login name eq
監視 Instant MessagingInstant Messaging 提供一個協助您監視活動的代理程式。這個代理程式被稱為監視框架管理代理程式,或 mfwk 代理程式。mfwk 代理程式包含在「一般代理程式容器」(CAC) 之中。在您安裝 Instant Messaging 時安裝 CAC 和 mfwk 代理程式。
mfwk 代理程式透過「Java 監視與管理主控台」(JConsole) 使得 XMPP 模組統計可用。表 8-1 描述代理程式為其顯露狀態和效能度量的 Instant Messaging 服務。
本節提供關於管理和疑難排解 mfwk 代理程式與 JConsole 的資訊,並在以下各節中說明了如何使用代理程式和 JConsole 來監視 Instant Messaging:
管理 mfwk 代理程式
您可使用 mfwkadm 指令行公用程式來管理 mfwk 代理程式。例如,您可以啟動、停止和重新啟動代理程式,以及設定新的和檢視目前的由代理程式執行的效能監視工作。關於使用此公用程式的詳細說明可在 mfwkadm man page 取得。此外,該代理程式在 CAC 內執行。如需關於 CAC 的更多資訊,請參考 cacaoadm 和 cacao man page。本節會提供找到這些 man page 的說明。
若要存取 mfwkadm 和 CAC man Page
- 檢查指令行的 MANPATH 環境變數,確定此處為正確的路徑。
表 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
- 如果此處沒有正確的路徑,請將 mfwkadm 公用程式和 CAC man page 的位置附加到您的 MANPATH 環境變數。例如,在使用 C shell 的 Solaris 上:
setenv MANPATH=/usr/dt/man:/usr/man:/opt/SUNWmfwk:/opt/SUNWcacao/man
在 Linux 上,使用至 man page 的路徑更新 /etc/man.config。
- 驗證 man page 可存取。例如:
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 監視資訊
- 以超級使用者的身份登入。
- 將 CLASSPATH 設定為包含 CAC、JConsole 和 JMX jar 檔案的位置。
在 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
- 執行 JConsole。
在 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"
- 在 MBeans 標籤上,展開 XMPP 目錄樹。
服務屬性及其值列於目錄樹中。如需透過 JConsole 可見的 Instant Messaging 服務的完整清單,請參閱表 8-1。
mfwk 代理程式疑難排解
如果您在使用 mfwk 代理程式監視 Instant Messaging 時遇到問題,請確定下列事項:
JConsole 疑難排解
如果您無法顯示 JConsole,請確定下列事項:
管理監視程式程序監視程式程序監視伺服器和多重訊號組合器元件,並在確定元件未執行時嘗試重新啟動元件。
對於伺服器來說,視伺服器目前的配置而定,監視程式會定期嘗試連線來判定伺服器是否正在執行,或者直接透過多重訊號組合器連線至伺服器。監視程式會嘗試輪詢伺服器的作業狀態,如果無法決定狀態則會嘗試連線到伺服器。如果兩項作業都失敗,監視程式會停止,然後重新啟動伺服器。
在您使用監視程式前,請確認其為啟用狀態,並使用 imadmin check 指令執行。依預設,監視程式在您安裝 Instant Messaging 時就會啟用與執行。
可在附錄 B「Instant Messaging imadmin 工具參考」中取得更多關於 imadmin 公用程式的資訊。
確定監視程式的狀態
您可使用 imadmin 指令行公用程式來檢查監視程式的狀態。
確定監視程式的狀態
啟用和停用監視程式
依預設,監視程式在您安裝 Instant Messaging 時就會啟用。您可透過在 iim.conf 中設定配置參數來停用或啟用監視程式。
若要啟用或停用監視程式
管理監視程式的記錄
您可以使用與管理伺服器、多重訊號組合器和 Calendar 代理程式相同的方式來管理監視程式的記錄。監視程式的記錄檔儲存為 im_db_base/log/iim_wd.log。
如需關於所有 Instant Messaging 元件 (包括監視程式) 設定記錄層級的詳細資訊,請參閱管理記錄。