前言
WLDF是Diagnostics Framework for Oracle WebLogic Server的缩写,Oracle Weblogic文档里面是如下描述:
The WebLogic Diagnostics Framework (WLDF) is a monitoring and diagnostic framework that defines and implements a set of services that run within WebLogic Server processes and participate in the standard server life cycle. Using WLDF, you can create, collect, analyze, archive, and access diagnostic data generated by a running server and the applications deployed within its containers. This data provides insight into the run-time performance of servers and applications and enables you to isolate and diagnose faults when they occur.本文将尝试构造各种图表,使用WLDF来监控一个WEB应用的运行情况。
Physical server and OS related
- SystemLoadAverage(单位:%)

通过这个图可以发现Weblogic所在机器的整体系统负载情况。点这里理解Unix环境下的Load概念。
-ProcessCPUTime
需要注意的是,这里取到的CPU时间,仅仅反映了java进程的CPU占用时间,不包括其他操作系统其他进程。可以从线的斜率变化,看出Weblogic java进程的相关cpu的利用率。
- FreePhysicalMemorySize (单位:bytes)
通过这个图可以看出物理内存的剩余大小和变化趋势。
- FreeSwapSpaceSize (单位:bytes)
通过这个图可以看出Swap空间的剩余大小和变化趋势。
- OpenFileDescriptorCount (单位:个数)
Unix 程序在执行任何形式的 I/O 的时候, 程序是在读或者写一个文件描述符。一个文件描述符只是一个和打开的文件相关联的整数。 但是(注意后面的话),这个文件可能是一个网络连接,FIFO,管道,终端,磁盘上的文件 或者什么其他的东西。Unix 中所有的东西是文件!因此,你想和 Internet 上别 的程序通讯的时候,你将要通过文件描述符。
通过这个图可以看出Unix系统干红OpenFileDescriptorCount的大小和变化趋势。
JRE
- HeapSizeFreePercent
同这个这个图可以看出Java heap的空闲百分比和变化趋势。这里有篇文章讲了一下关于JVM的基本知识
- Garbage collection Count
这个图里面可以看出垃圾收集发生的次数,这里给出了两种收集器(collector)的收集次数。其中Copy收集器用的最多,用于Young Gen的收集。
关于GC,可以看这里。
- Garbage collection time
Weblogic side
- ThreadPool
这个图中可以看出Weblogic线程池中,独占线程计数/备用线程计数/暂挂用户请求计数。通过比较用户请求数和备用线程数,可以知道线程池是否足够大。
<以下几个图都是关于jdbc的>
- JDBC Data Source utilization and leak verification
这个图反映出JDBC连接建立所花费的时间。
这个图反映出JDBC池中可用的连接数,以及没有正常关闭的连接数。
这个图反映出当前等待的连接请求计数。
- HttpSession utilization
这个图反映出Session数的变化情况,包括总的session数的变化情况,以及当前的session数。观察总的session数的变化趋势,可以发现访问请求的负载变化情况。
- EJB/MDB pool bean utilization
EJB/MDB的监控首先应该判断你需要监控的EJB/MDB对象,本例中以一个MDB(TaskUpdater)为例显示如果进行EJB/MDB相关的监控。
这个图显示当前等待Bean实例的Thead计数
这个图显示MDB处理过的消息(Message),通过斜率的变化可以看出MDB的负载变化。
这个图显示MDB暂停的次数。
这个图显示EJB池里面EJB实例、空闲和使用bena的计数变化情况。
这个图显示Bean池中申请使用的请求、销毁的请求、失败的请求、超时的请求计数。
- JMSqueue utilization
这个图反映出了JMS Server当前连接(Connection)计数变化情况。
这个图反映出了JMS Server总连接(Connection)计数变化情况。
这个图反映了JMS Server整体消息负载情况,包括当前存储的消息和pending的消息。
这个图反映了TaskUpdaterQueue中的消息负载情况。
这个图反映了JMS Server整体处理接收到的消息总计数变化。
这个图显示出TaskUpdaterQueue接收到的消息总计数变化。
如何做?
上面所有列出来的图形都是可以在Weblogic 的 Admin Console中配置的,用Monitoring Dashboard 表现出来,采样间隔时间是20秒钟,只能显示大概1个小时左右的数据。
你也可以创建一个Diagnostics System Module,在其中配置Collected Metrics,配置采样间隔时间,然后在Log Files中查询。
联系邮箱:letian.hs@gmail.com