Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用JMX(MBean)记录WebLogic状态_Weblogic_Logging_Jmx - Fatal编程技术网

使用JMX(MBean)记录WebLogic状态

使用JMX(MBean)记录WebLogic状态,weblogic,logging,jmx,Weblogic,Logging,Jmx,我知道我们可以使用MBean获取WebLogic的状态。例如,使用JDBCDataSourceRuntimeBean()获取JDBC状态。使用其他MBean,我们还可以获得EJB、WebService等的状态 但这只是当时的状态,如果我想监视历史,例如,我想知道每个EJB事务的详细运行时间,是否可能 其目的是为了监控我们的应用程序性能,一个显而易见的解决方案是在EJB中添加日志并对其进行解析。但是,如果我们不需要编写代码就可以从服务器上获得它,它会更好 另一个问题是,因为JMX是一个标准,JBo

我知道我们可以使用MBean获取WebLogic的状态。例如,使用JDBCDataSourceRuntimeBean()获取JDBC状态。使用其他MBean,我们还可以获得EJB、WebService等的状态

但这只是当时的状态,如果我想监视历史,例如,我想知道每个EJB事务的详细运行时间,是否可能

其目的是为了监控我们的应用程序性能,一个显而易见的解决方案是在EJB中添加日志并对其进行解析。但是,如果我们不需要编写代码就可以从服务器上获得它,它会更好

另一个问题是,因为JMX是一个标准,JBoss支持它。如果该解决方案能够同时支持WebLogic和JBoss,则会更好

更新: 我阅读了WebLogic文档,发现这很好

  • 收集的指标:这可以收集服务器信息。我使用它将JDBC状态收集到数据库中
  • 插装:我用它来记录方法的执行时间
以下是官方文件和教程

收集的指标

  • 官方文件:
  • 博客教程:
仪器仪表:

  • 官方文件:
  • 博客教程:

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

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

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

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


希望能有所帮助!

谢谢,我只是使用收集到的WLDF指标和工具,非常好。我将信息保存到另一个数据库并进行分析。JBoss是否也有类似的工具?是的,我认为JBoss的等价物叫做Web控制台。我不熟悉JBoss On(JON)但它可能也值得研究。在仪器中,我仍然有2个要求。第一个是我能知道消息大小吗?我发现有一个有效负载字段,但它是blob?第二个是,有可能知道该方法是成功的还是有异常?我不确定。最好是你把它作为一个新问题发布,并附上要求和详细信息在您访问的MBean中。我发布了另一个问题,谢谢。