Sun Java logo    上一页     目录     索引     下一页    

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

第 8 章
Instant Messaging 的故障排除和监视

本章列出了在安装和部署 Instant Messaging 过程中可能出现的常见问题,并提供对监视代理的概述。各个系统组件在操作时生成的日志信息对检查或解决问题非常有用。此外,可使用监视代理监视 Instant Messaging 进程的总体状况以防患于未然,并且评估使用级别以帮助您确定部署的规模以及限制停机时间。本章包含以下各节的信息:

有关管理服务器、多路复用器、监视程序、“日历”代理和客户机日志记录以及有关默认日志文件位置的详细信息,参见管理日志记录


获取 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.usergroupbinddn iim_ldap.usergroupbindcred 参数配置所需的证书。

问题:您的站点不使用 uid 属性进行用户验证。

解决方案:使用 iim_ldap.loginfilter 参数设置您的目录用于进行验证的属性。默认情况下,此参数被设置为 uid。并且,更改其值中包含 uid 的任何“filter” 参数。

问题:您希望更改 Instant Messenger 显示联系人名称的默认方式。

解决方案:Instant Messenger 用于显示联系人名称的默认属性为 cn。因此,联系人名称将显示为 Frank SmithMary Jones 等。将 iim_ldap.userdisplayiim_ldap.groupdisplay 参数更改为其他属性,如 uid

问题:将您的目录编入索引,以使用通配符。

解决方案:将 iim_ldap.allowwildcardinuid 参数更改为 True。此参数将决定在进行搜索时,是否应该对“用户 ID”启用通配符。由于大多数目录安装都将“用户 ID”编入索引以只进行精确搜索,故默认值为 False。将此值设为 True 可能会影响性能,除非将“用户 ID”编入索引以进行子串搜索。

问题:您的目录使用非标准对象/组类。

解决方案:更改相应的 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 代理监视的服务 

类别

服务

说明

验证

auth

验证。

搜索

disco

搜索请求。

消息

message

有关警报和两个客户机间一对一聊天会话的信息,如消息发送的速度。

会议

muc-presence、muc-admin 和 muc-message

会议统计信息,如离开或加入会议、会议管理请求和转发的会议(分组聊天)消息。

在线

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

在线信息,如更新和订阅。

保密性

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

保密性详细信息。

Roster

roster-get 和 roster-set

登记表信息。

搜索

search

搜索统计信息。

本节提供 mfwk 代理和 Jconsole 的管理以及故障排除的有关信息,并在以下各节中介绍如何使用此代理和 Jconsole 监视 Instant Messaging:

管理 mfwk 代理

使用 mfwkadm 命令行实用程序可管理 mfwk 代理。例如,可启动、停止和重新启动代理,并且新建和查看由代理所执行的当前性能监视作业。有关使用此实用程序的详细说明,可在 mfwkadm 手册页中获得。另外,代理在 CAC 内部运行。有关 CAC 的信息,参阅 cacaoadmcacao 手册页。本节提供有关查找这些手册页的说明。

  访问 mfwkadm 和 CAC 手册页
  1. 在命令行中,检查 MANPATH 环境变量以查看其中已有的路径是否正确。
  2. 表 8-2 列出了手册页的路径。

    表 8-2  mfwkadm 和 CAC 手册页路径 

    组件

    Solaris 路径

    Linux 路径

    mfwkadm

    /opt/SUNWmfwk

    /opt/sun/mfwk

    CAC

    /opt/SUNWcacao/man

    /opt/sun/man

  3. 如果其中的路径不正确,则将 mfwkadm 实用程序和 CAC 手册页的位置附加到 MANPATH 环境变量中。例如,在使用 C shell 的 Solaris 中:
  4. setenv MANPATH=/usr/dt/man:/usr/man:/opt/SUNWmfwk:/opt/SUNWcacao/man

    在 Linux 中,用手册页的路径更新 /etc/man.config

  5. 检验是否可访问手册页。例如:
  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 时监视程序即会启用并处于运行状态。

有关 imadmin 实用程序的更多信息,可在附录 B“Instant Messaging 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

管理监视程序日志记录

管理监视程序日志记录的方法与管理服务器、多路复用器和“日历”代理日志记录的方法相同。监视程序日志文件被另存为 im_db_base/log/iim_wd.log

有关为所有 Instant Messaging 组件(包括监视程序)设置日志记录级别的更多信息,参见管理日志记录



上一页     目录     索引     下一页    


文件号码 819-1489。 版权所有 2005 Sun Microsystems, Inc. 保留所有权利。