一、通过管理控制台对Weblogic的性能以及运行状况,发布和应用,资源等进行监视。
环境—>服务器—>监视—>一般信息,该页面显示了服务器的一般运行信息,如weblogic的版本,java的提供商、版本,操作系统的版本信息等。
环境—>服务器—>监视—>性能,从该页面可以了解weblogic服务器性能的基本情况,包括空闲线程,等待处理的请求数,JVM的内存堆使用状态等。
部署—>应用程序—>监视,当应用程序部署运行后,可以监视单一组件,如EJB,Servlet等。
二、Weblogic server的监视方式除了控制台监视还有运用命令行工具监视,编程Mbean自定义监视和使用第三方工具监视。
(1)运用命令行工具监视
命令行工具可以使用特殊命令(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
(2)编程Mbean自定义监视
Mbeans实质上是一个java类,那么肯定可以编程使用,于是就可以编程实现自定义监视。
MBeanHome home = (MBeanHome) new InitialContext().lookup(MBeanHome.LOCAL_JNDI_NAME);
Set pools = home.getMBeansByType("JDBCConnectionPool");
上面的代码片段是对于JDBC连接缓冲池的配置mbean的操纵的核心部分。得到该mbean实例后可以得到各种weblogic能够提供的关于JDBC连接缓冲池配置信息,实现自定义监视。
(3)使用第三方工具监视
BEA WebLogic Server作为一种广泛运用的Java应用服务器,有大量第三方软件可以运用,包括HP-Mercury LoadRunner,QUEST Spotlight for WebLogic Server,Wily's Introscope for WebLogic等。
以下是WebLogic常用监控指标:
1.JMSRuntime
JMSServersCurrentCount 返回当前JMS服务的连接数
ConnectionsCurrentCount 返回本JMS服务器上当前的连接数
JMSServersHighCount 返回自服务器启动后JMS服务的最大连接数
ConnectionsHighCount 返回本JMS服务器自上次重置后的最大连接数
2.JVMRuntime
HeapSizeCurrent 返回当前JVM堆中内存数,单位时字节
HeapFreeCurrent 返回当前JVM堆中空闲内存数,单位时字节
3.ExecuteQueueRuntime
ExecuteThreadCurrentIdleCount 返回队列中当前空闲线程数
PendingRequestOldestTime 返回队列中最长的等待时间
PendingRequestCurrentCount 返回队列中等待的请求数
Queue Length 队列长度
4.JDBCConnectionPoolRuntime
WaitingForConnectionHighCount 返回本JDBCConnectionPoolRuntimeMBean 上最大等待连接数
WaitingForConnectionCurrentCount 返回当前等待连接的总数
MaxCapacity 返回JDBC池的最大能力
WaitSecondsHighCount 返回等待连接中的最长时间等待者的秒数
ActiveConnectionsCurrentCount 返回当前活动连接总数
ActiveConnectionsHighCount 返回本JDBCConnectionPoolRuntimeMBean 上最大活动连接数
注:
weblogic通常监控JVM和执行队列,JDBC连接池,其中执行队列最关键的指标是Queue Length 队列长度
weblogic一般来说监控jvm的使用、执行线程队列情况、和连接池的变化情况,还有一个很重要的检查weblogic的console日志这里经常能反映一些很重要到情况。
监控weblogic的jvm有一个很好的自带工具,由于weblogic使用自己的jrockit作为jvm,自带一个工具通过在启动参数加-Xmanagement,然后进入到jrockit的bin路径下命令行console启动,可以看到更加细微的jvm的情况,对jvm的调优很好。
这里还是建议一定对jvm的工作原理做一个深入的理解会对你很有帮助,同时了解不同的jrockit的jvm垃圾回收器各自的特点,这些都对weblogic的调优大有帮助。