【发布时间】:2011-10-25 17:36:01
【问题描述】:
我知道我们可以使用 MBean 来获取 WebLogic 的状态。例如,使用 JDBCDataSourceRuntimeMBean (http://download.oracle.com/docs/cd/E15523_01/apirefs.1111/e13951/core/index.html) 获取 JDBC 状态。而使用其他的MBean,我们也可以得到EJB、WebService、...的状态...
但这只是当时的状态,如果我想监控历史,比如我想知道每个EJB事务的详细运行时间,可以吗?
目的是我们想要监控我们的应用程序性能,一个明显的解决方案是在我们的 EJB 中添加日志并解析它。但是如果不写代码就可以从服务端获取就更好了。
另一个问题是,因为 JMX 是一个标准并且 JBoss 支持它。如果方案能同时支持WebLogic和JBoss就更好了。
更新:
看了WebLogic文档,发现WLDF不错。
- 收集的指标:这可以收集服务器信息。我使用它将 JDBC 状态收集到数据库中。
- 仪器:我用它来记录方法的执行时间
以下是官方文档和教程。
收集的指标
- 官方文档:http://download.oracle.com/docs/cd/E12840_01/wls/docs103/wldf_configuring/config_harvester.html
- 博客教程:http://weblogic-server.blogspot.com/2009/12/configuration-diagnostics-jdbc-store.html
仪器:
- 官方文档:http://download.oracle.com/docs/cd/E11035_01/wls100/wldf_configuring/config_instrumentation.html
- 博客教程:http://m-button.blogspot.com/2008/11/using-wldf-to-trace-time-taken-by-your.html
唯一不方便的是切入点的语法。如果我想监控一个类中的几个方法,我需要写几个 wldf-instrumentation-monitor 标签。除非我能找到一个通配符模式来描述它们。
【问题讨论】: