介绍这几种监视方式:
(1)管理控制台监视
通过管理控制台,可以对WebLogic的性能以及运行状况,发布的应用,资源等进行监视。
下面列举部分用来管理WebLogic的监视页面来简要说明管理控制台所提供的监视功能。
服务器->监视->常规,该页面显示了服务器的当前状态。高级选项里还显示了WebLogic 版本,JDK的提供商,版本,操作系统的版本等信息。最后从这个页面,还可以访问JNDI 树、监视活动队列、监视连接以及监视活动套接口。
服务器->监视->常规->监视所有活动队列,执行队列的配置对WebLogic 性能是很重要的,根据经验值,一颗CPU可以配置25-30之间的执行线程。从该页面可以查看到已经分配给队列的执行线程数,当前空闲的线程数,最长等待请求放入队列中的时间,队列中的等待请求数,此队列已处理的请求数等重要信息,这些信息可以作为判断是否需要对执行线程调整的参考。
服务器->监视->性能,从该页面中可以了解WebLogic 服务器性能的基本情况,包括空闲线程数,等待处理的请求数,JVM的内存堆使用状态等。
部署->应用程序->EAR模块->监视,当应用程序部署运行后,可以监视单一组件,如EJB,Servlet等。如上图所示,该页面提供了发布的应用程序中EJB的统计信息,可以有效了解EJB处理请求的效率。
服务->JDBC->连接缓冲池->监视,在控制台中可以监视资源的运行的状态,如JDBC等。该页面提供了JDBC连接缓冲池的统计信息,包括连接缓冲池可包含的最大数据库连接数,当前使用的物理数据库连接数,当前使用的物理数据库连接数等信息。
(2)运用命令行工具监视
命令行工具可以使用特殊命令(GET、 SET、CREATE、INVOKE、 DELETE 和 QUERY)直接操纵底层 JMX 基础结构。这使命令行工具可以访问管理控制台所有可用的功能,甚至还为访问某些功能提供了更灵活的方法。
具体运用过程是使用Java命令,调用weblogic.Admin这个java类。在运用该工具时,需要设定环境变量,指定java命令路径及weblogic包的类路径。使用weblogic.Admin工具的语法如下:
java weblogic.Admin [ [-url -adminurl] [protocol://] listen-address:port] -username username [-password password] COMMAND-NAME arguments
在上面的命令语法中,username和password表示用户名和密码,url表示运行命令的服务器实例的监听地址和监听端口,adminurl表示管理服务器可以检索域中任何服务器实例的本地配置 MBean 或运行时 MBean,COMMAND-NAME表示具体执行的特殊命令(GET、 SET、CREATE、INVOKE、 DELETE 和 QUERY),arguments表示命令的参数。实际运用的一条命令如下:
java weblogic.Admin -username weblogic -password weblogic -url localhost:7001 GET -pretty -type JVMRuntime
需要留意的是最后的命令参数 –type,指定了想获得信息的资源(如果是某个具体的Mbean,使用-mbean 参数,-type是所指定类型的实例的所有 MBean 进行操作),该参数的获取规则是:在WebLogic Server 8.1 API Reference查找 MBean 的接口类,并从类名中删除 MBean 后缀。对于为 weblogic.management.runtime.JDBCConnectionPoolRuntimeMBean 的实例的 MBean,使用 JDBCConnectionPoolRuntime。 对于本地配置 MBean,将 Config 追加到名称中。例如,对于为 weblogic.management.configuration.JDBCConnectionPoolMBean 接口类的实例的本地配置 MBean,使用 JDBCConnectionPoolConfig。对于对应的管理 MBean 实例,使用 JDBCConnectionPool。
(3)编程Mbean自定义监视
Mbeans实质上是一个java类,那么肯定可以编程使用,于是就可以编程实现自定义监视。
MBeanHome home = (MBeanHome) new
InitialContext().lookup(MBeanHome.LOCAL_JNDI_NAME);
Set pools = home.getMBeansByType("JDBCConnectionPool");
上面的代码片段是对于JDBC连接缓冲池的配置mbean的操纵的核心部分。得到该mbean实例后可以得到各种weblogic能够提供的关于JDBC连接缓冲池配置信息,实现自定义监视。
(4)使用第三方工具监视
BEA WebLogic Server作为一种广泛运用的Java应用服务器,有大量第三方软件可以运用,包括HP-Mercury LoadRunner,QUEST Spotlight for WebLogic Server,Wily's Introscope for WebLogic等。