本节包括以下主题:
Application Server 的管理(管理和监视)基于 JMX。这意味着被管理组件被表示为 MBean。使用 Java 2 Standard Edition (J2SE) 5.0 可以监视 JVM 并查看 JVM MBean,从而了解其运行情况。为了公开此程序设备,Application Server 提供了一种称为系统 JMX 连接器服务器的标准 JMX 连接器服务器配置。启动 Application Server 时,将启动此 JMX 连接器服务器的一个实例,从而向受信客户机公开此程序配置。
Java 监视和管理控制台 (JConsole) 是一种常用的 JMX 连接器,可用于管理 JMX 后端。JConsole (http://java.sun.com/j2se/1.5.0/docs/tooldocs/share/jconsole.html) 作为从 J2SE 5.0 开始的标准 JDK 分发的一部分提供。有关 JConsole 的更多信息,请参见http://java.sun.com/developer/technicalArticles/J2SE/jconsole.html
为 Application Server 配置 JConsole 时,Application Server 将成为 JMX 连接器的服务器端,JConsole 将成为 JMX 连接器的首选客户机端。
在如何基于连接的传输层安全性连接到 Application Server 或任何 JMX 连接器服务器端方面,存在细微的差别。如果服务器端是安全的(保证传输层安全性),则只需在客户机端执行较少的配置。
默认情况下,平台版 Application Server 的系统 JMX 连接器服务器端是不安全的。
默认情况下,企业版 Application Server 的系统 JMX 连接器服务器端是安全的。
通信所使用的协议为 RMI/JRMP。如果为 JMX 连接器启用安全性,则使用的协议为基于 SSL 的 RMI/JRMP。
基于 SSL 的 RMI 不提供其他检查以确保客户机正在与预定服务器进行通信。因此,使用 JConsole 时,始终有可能将用户名和密码发送到恶意主机。能否确保安全性不会降低完全取决于管理员。
当您在计算机(例如 appserver.sun.com)上安装平台版域时,将会在 DAS(Domain Administration Server,域管理服务器,即管理服务器或简称域)的 domain.xml 中显示以下内容:
<!- – The JSR 160 "system-jmx-connector" – –><jmx-connector accept-all="false" address="0.0.0.0" auth-realm-name="admin-realm" enabled="true" name="system" port="8686" protocol="rmi_jrmp" security-enabled="false"/> <!- – The JSR 160 "system-jmx-connector" – –>
JMX 连接器的 security-enabled 标志为 false。如果运行的是企业版,或者在平台版中为 JMX 连接器启用安全性,则此标志被设置为 true。
<!- – The JSR 160 "system-jmx-connector" – –><jmx-connector accept-all="false" address="0.0.0.0" auth-realm-name="admin-realm" enabled="true" name="system" port="8686" protocol="rmi_jrmp" security-enabled="true"/> ...</jmx-connector><!- – The JSR 160 "system-jmx-connector" – –>
JConsole 设置包含两部分:服务器端和客户机端。Application Server 域安装在名为 appserver.sun.com 的计算机中,这是一个功能强大的 Solaris 服务器。这是服务器端。
客户机端也安装有 Application Server。假设客户机端是安装有 Java SE 5.0 和 Application Server 的 Windows 计算机。
仅当对远程计算机上的 Application Server 域启用了安全性(企业版的默认设置)时,才需要在客户机端安装 Application Server。如果仅希望管理上述 Solaris 计算机中的 Application Server 平台版域,则不需要在此客户机上安装 Application Server。
如果服务器端和客户机端位于同一台计算机上,则可以使用 localhost 指定主机名。
本节介绍如何在未对 JMX 连接器启用安全性的情况下将 JConsole 连接到 Application Server。默认情况下,没有在 Application Server 平台版上启用安全性。
在 appserver.sun.com 上启动域。
通过运行 JDK_HOME/bin/jconsole 来启动 JConsole。
在 JConsole 的“连接到代理”选项卡中,输入用户名、密码、主机名和端口(默认为 8686)。
用户名是指域的管理用户名,密码是指域的管理密码。
单击“连接”。
在 JConsole 窗口的各个选项卡中,将显示所有的 MBean、虚拟机信息等。
本节介绍如何在对 JMX 连接器启用安全性的情况下将 JConsole 连接到 Application Server。默认情况下,在 Application Server 企业版上启用了安全性。如果已对平台版的 JMX 连接器启用了安全性,请执行此过程。
在客户机(安装有 JConsole)上安装 Application Server。
需要执行此操作的唯一原因是让 JConsole 知道您所信任的域管理服务器的服务器证书位于何处。要获取此证书,请至少调用一次远程 asadmin 命令;要实现此调用,需要在本地安装 Application Server。
在 appserver.sun.com 上启动 Application Server 企业版。
由于这是企业版域,因此系统 JMX 连接器服务器是安全的。
在本地 Application Server 安装中,运行 install-dir/bin/asadmin list --user admin --secure=true --host appserver.sun.com --port 4849(其中 4849 是服务器的管理端口)。
虽然示例选择了 asadmin list 命令,但是您可以运行任何远程 asadmin 命令。现在,系统将提示您接受 appserver.sun.com 的 DAS 所发送的证书。
按 y 以接受 appserver.sun.com 上的域管理服务器所发送的证书。
在客户机上,服务器证书存储在主目录下名为 .asadmintruststore 的文件中。
如果服务器与客户机相同,则不需要执行此步骤。换句话说,如果也在 appserver.sun.com 上运行 JConsole。
通过使用以下 JConsole 命令使 JConsole 知道 DAS 的信任存储位置:
JDK-dir/bin/jconsole.exe -J-Djavax.net.ssl.trustStore="C:/Documents and Settings/user/.asadmintruststore"
现在,此证书自动得到 JConsole 的信任。
通过运行 JDK_HOME/bin/jconsole 来启动 JConsole。
在 JConsole 的“连接到代理”选项卡中,输入用户名、密码、主机名和端口(默认为 8686)。
用户名是指域的管理用户名,密码是指域的管理密码。
单击“连接”。
在 JConsole 窗口的各个选项卡中,将显示所有的 MBean、虚拟机信息等。