【问题标题】:Use JMX (MBean) to log WebLogic status使用 JMX (MBean) 记录 WebLogic 状态
【发布时间】: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 状态收集到数据库中。
  • 仪器:我用它来记录方法的执行时间

以下是官方文档和教程。

收集的指标

仪器:

唯一不方便的是切入点的语法。如果我想监控一个类中的几个方法,我需要写几个 wldf-instrumentation-monitor 标签。除非我能找到一个通配符模式来描述它们。

【问题讨论】:

    标签: weblogic logging jmx


    【解决方案1】:

    这绝对是可能的,但使用现有的WLDF 框架可能更容易 - 您可以定义要跟踪的 MBean,将历史数据存储到文件存储并在控制台中绘制它们。

    我不推荐记录调试语句的路径,尤其是在生产环境中。根据系统的吞吐量,来自日志记录的额外 I/O 可能会产生很大的开销。

    JMX 是访问运行时 bean 的标准方式,但它们在 WebLogic 和 JBoss 之间会有所不同。根据我的个人经验,除非您使用的是 CA Wily 的 Introscope 等企业解决方案,否则最好使用专门为应用程序服务器编写的各个程序,因为它们通常会突出显示您可能感兴趣的其他指标(如果您有是时候遍历所有 MBean 并确定它们的用处了,这可能无关紧要)。

    希望有帮助!

    【讨论】:

    • 谢谢,我只是使用 WLDF 的 Collected Metrics 和 Instrumentation,真的很好。我将信息保存到另一个数据库并分析它们。 JBoss 有类似的吗?
    • 是的,我认为 JBoss 等价物称为 Web 控制台。我不熟悉 JBoss On (JON),但它可能也值得研究。
    • 在instrumentation中,我还有2个要求。第一个是我可以知道消息大小吗?我发现有一个有效载荷字段,但它是 blob? 2、是否可以知道方法是成功还是异常?
    • 我不确定。最好将它作为一个新问题发布,其中包含您正在访问的 MBean 的要求和详细信息。
    • 我发布另一个问题,谢谢。 stackoverflow.com/questions/7935583/…
    猜你喜欢
    • 2014-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-09
    • 2018-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多