本节介绍 Monitoring Console 和 Monitoring Framework 中的已知问题。Monitoring Framework 是一个共享组件,它随其他组件一起自动安装以启用监视。
为防止出现 Monitoring Framework 中的某些已知问题,需要以下修补程序。这些修补程序通常包括在 Java ES 所需的其他修补程序包或更新版本的 Solaris 操作环境中。但是,应在要监视 Java ES 产品组件的任何主机上检验是否存在这些修补程序或其替代程序:
表 1 Solaris 操作环境中用于监视的修补程序
Solaris 版本 |
修补程序号 |
---|---|
Solaris 9 Sparc 平台(最高版本为 s9u7_06) |
114344-17 |
Solaris 9 i386 平台(最高版本为 s9u7_06) |
114345-08(已过时,由 117172-17 所取代)、118559-28(或更新版本) |
Solaris 9 Sparc 平台(最高版本为 s9u7_06) |
114344-17 |
Solaris 10 i386 平台(最高版本为 s10_58) |
114345-08(已过时,由 117172-17 所取代)、118855-15(或更新版本) |
对于 HP-UX 操作系统,监视所需的修补程序包含在 HP-UX 要求和问题所介绍的那些修补程序中。
添加要监视的新主机时,Monitoring Console 使用 SSL 来保障连接安全,但不显示所选主机出具的证书。由于 Monitoring Console 会将主机的根密码传送给节点代理,因此就向攻击者暴露了一个致命弱点,使其得以乘机伪造欲攻击主机的 IP 地址并接收密码。但发生这种情况的风险很低,因为大多数节点代理运行所在的主机都已处于安全网络之内。
解决方案:如果节点代理主机不在安全网络内,则在将其作为新主机添加到 Monitoring Console 中之前,应当先检验其真实性。要检验主机的真实性,请登录到该主机并确保您认可其配置及文件系统。对于 UNIX 主机,可以使用 ssh 进行登录,以查看证书信息。
在 Monitoring Console 中,产品中包含的对象称为“应用服务器”。不要将此术语与 Sun Java System Application Server 混淆。
解决方案:在 Monitoring Console 的上下文中,应用服务器是指所安装 Java ES 组件的运行实例。
在某些情况下,在 Monitoring Console 中显示和切换页面所花费的时间长达 30 秒。
解决方案:在没有其他应用程序的功能强大的主机上运行 Monitoring Console。
左侧树中的标签不包含主机名或域名,只包含组件名。这就很难标识不同主机上的类似组件。同样,在创建监视规则和选择受监视组件时,可能无法区别不同主机上相同组件的实例。
解决方案:在受监视组件的详细视图中查找主机标识符。有些组件的实例名中包括其进程 ID,因此需要知道每个主机上的实例的进程 ID。
Monitoring Console 不能以各个组件为基础启用或禁用监视。
解决方案:必须通过每个组件自身的机制来启用和禁用组件监视。有关说明,参见《Sun Java Enterprise System 5 监视指南》中的第 2 章 “启用和配置 Monitoring Framework”中特定于组件的章节。
当受监视组件崩溃或正常停止时,可能不会从代理节点中删除该组件受监视的对象,它们在 Monitoring Console 左侧的树中有可能仍然可见。同样,如果停止整个节点代理,可能也不会从左侧的树中删除主机节点。此问题间歇性地出现。
解决方案:停止或重新启动服务器实例时,可能需要重新启动节点代理、主代理和 Monitoring Console。如果停止主机及其节点代理,则可能需要重新启动主代理和 Monitoring Console。《Sun Java Enterprise System 5 监视指南》中的“重新启动节点代理”过程介绍了如何进行这两项操作。
从 Monitoring Console 中删除主机时,不会自动删除与其受监视组件相关联的监视规则和报警。这样,如果再次添加同一主机,便会保持规则和报警状态。
解决方案:如果不打算再添加该主机,请使用“规则”对话框查找并删除与该主机相关联的所有规则。删除主机时存在的报警可能已确认,但由于无法再访问触发报警的受监视属性,这些报警仍会留在 Monitoring Console 中。为避免遗留已确认状态的报警,请在删除主机之前解析受监视组件中的所有报警条件,并在 Monitoring Console 中确认这些报警。
下表跟踪 Monitoring Console 的其他已知问题。
默认情况下各种表未进行排序
从“使用此已安装产品的对象”链接的主机不应为未知对象
使用 AppServer 插件时,“此服务器包含的对象”不应包括子项的子项
启用和禁用功能在主机表中无法正确工作
显示 Statistics 和 Settings 对象的标题和说明字段,但不显示基对象的标题和说明字段
选择对象并单击“监视规则”->“新建”时,不应要求用户再次选择该对象
为给定主机列出的 JVM 对象的名称不一致
Application Server 创建的 CMM_Cluster 对象未在任何位置显示
“新建规则”对话框中可看到的对象的列表不清晰
Portal、Web 和 Application Server 对象的对象和操作状态显示为未知
在 Application Server 中部署的 Enterprise Java Bean 应有更多描述性名称
不能使用 Application Server 监视对象中的属性名称
内部 Application Server 配置变化未反映在 Monitoring Console 中
在 Linux 系统中,启用 IPv6 时 Monitoring Framework 将不会工作。因此,该系统中受监视组件的测试设备将不会加载到 cacao 容器中,并且不会在 Monitoring Console 中显示。
解决方案:有两种可行的解决方案:
将 Monitoring Framework 配置为不使用回送接口:
在 Monitoring Framework 配置目录(默认为 /etc/opt/sun/mfwk/config)中,复制一份样例属性文件:
cp mfwk.properties.sample mfwk.properties |
在新复制的 mfwk.properties 文件中设置以下参数:
mfwk.multicast.disableloopback=true |
按照《Sun Java Enterprise System 5 监视指南》中的“重新启动节点代理”过程,重新启动节点代理、主代理和 Monitoring Console。
或者使用以下步骤在 Red Hat 3.0 上禁用 IPv6:
在 /etc/modprobe.conf 文件中查找下面的行是否存在:
alias net-pf-10 ipv6 |
对其进行更改或添加以下行:
alias net-pf-10 off |
重新引导系统。此时 IPv6 应被禁用。
在 Red Hat 4.0 中,使用 /etc/modules.conf 文件执行相同的步骤。
在禁用受监视组件的过程中,应从受监视组件的节点代理取消其部署,但这一过程有时会冻结。特别是,cacaoadm undeploy 命令不再返回,并且监视在整个节点代理中被阻塞。
解决方案:中止该进程,然后按照《Sun Java Enterprise System 5 监视指南》中的“重新启动节点代理”过程,重新启动节点代理、主代理和 Monitoring Console。
依靠 C 库与 Monitoring Framework 连接的组件在 Linux 操作环境中运行时,可能在 Monitoring Console 中显示得更慢。
解决方案:无。
在同一节点代理中的其他组件重新部署或停止后,依赖于 C 库的组件可能在 Monitoring Console 中表现出更低的监视性能。
解决方案:按照《Sun Java Enterprise System 5 监视指南》中的“重新启动节点代理”过程,重新启动节点的 Common Agent Container(包括节点代理),然后重新启动主代理和 Monitoring Console。
在同一主机上依赖于 C 库的组件和节点代理之间的进程间通信不安全。默认情况下,通信使用回送接口,因而降低了安全风险。
解决方案:无。
通过 SNMP 访问时,依靠 Java 库与 Monitoring Framework 连接的组件可能会遇到性能问题。
解决方案:无。
由于 Solaris 9 中存在的一个错误,发往 IPv4 地址的包未传送到 IPv6 套接字上的侦听器。这会中断该主机上节点代理与受监视组件之间的搜索机制。
解决方案:使用以下命令强制节点代理的 JVM 侦听 IPv4 套接字:
cacaoadm stop oldvalue=`cacaoadm get-param java-flags --value` cacaoadm set-param java-flags="${oldvalue} -Djava.net.preferIPv4Stack=true" |
然后按照《Sun Java Enterprise System 5 监视指南》中的“重新启动节点代理”过程,重新启动节点代理、主代理和 Monitoring Console。
如果节点代理和主代理主机上的时间相差甚远,则无法将该节点添加到 Monitoring Console。主代理的 Monitoring Framework 的错误日志将在“建立 JRMP 连接期间”报告一个严重错误。
解决方案:设置任一主机上的时间以使两者同步。
专用 C API 的文档被意外包含在运行时软件包中。它描述的接口是专用接口,并且随时会有变化,因此不主张使用这些接口。
解决方案:无。
当在 HP-UX 操作系统上的某个节点代理中并行创建大量监视规则时,Java 虚拟机 (Java Virtual Machine, JVM) 中的线程数可能会超出内核参数限制,进而导致 OutOfMemory 异常。
解决方案:如《Sun Java Enterprise System 5 监视指南》中的“在 HP-UX 上优化 Monitoring Framework 的内核参数”过程所述,下载并运行 HPjconfig 工具。