JBoss AS7:如何使用JMX读取数据源池统计信息

时间:2012-11-08 15:10:11

标签: jboss statistics

在JBossAS4中,MBean jboss.jca.ManagedConnectionPool允许访问例如数据源的已使用数量和可用连接数。这个MBean在JBossAS7中不再可用。

如何在JBossAS7中访问这些值?似乎有一种方法:JBoss管理控制台提供值。

2 个答案:

答案 0 :(得分:1)

MBean jboss.as:subsystem=datasources,xa-data-source=DATASOURCENAME_Pool具有所有配置属性,但不包含统计信息。根据此thread,统计信息仅向管理API公开(使用JSON导出的http访问)。

答案 1 :(得分:1)

在Windows或Linux上可以使用Jboss cli(客户端界面)。 这是在JBOSS AS 7.1.3

在我的Windows框中,这就是我所做的(我的jboss home是C:\ jboss-eap-6.0)

执行以下批处理文件

C:\jboss-eap-6.0\bin\jboss-cli.bat

它将带您进入提示

[disconnected /]

此刻您已断开连接。键入“connect”以连接到服务器,或键入“help”以获取支持的命令列表 。 现在输入connect。对于所有其他命令尝试帮助。这将允许您浏览JMX树(可能是我的术语可能是错误的。)

[disconnected /]connect

[standalone@rama-local:9999]

假设我的数据池名称是“OracleSampleDS” 然后,您可以使用以下命令

查询统计数据
/subsystem=datasources/data-source=OracleSampleDS/statistics=pool:read-resource(include-runtime=true)

这是我得到的输出

{
    "outcome" => "success",
    "result" => {
        "ActiveCount" => "0",
        "AvailableCount" => "20",
        "AverageBlockingTime" => "0",
        "AverageCreationTime" => "0",
        "CreatedCount" => "0",
        "DestroyedCount" => "0",
        "MaxCreationTime" => "0",
        "MaxUsedCount" => "0",
        "MaxWaitTime" => "0",
        "TimedOut" => "0",
        "TotalBlockingTime" => "0",
        "TotalCreationTime" => "0"
    }
}

如果您在jboss安装期间将主机名更改为localhost以外的任何其他名称,则可以编辑jboss-cli.xml

我使用 jboss-cl.sh

在linux上尝试了相同的命令

如果您有单独的配置文件(主要是使用域模式),请指定配置文件名称,如下所示。

/profile=full-ha/subsystem=datasources/data-source=OracleSampleDS/statistics=jdbc:read-resource(include-runtime=true)

此处我在域模式中使用的个人资料是“full-ha”

连接到Jboss命令行工具后,您可以使用少量命令,如

  • ls
  • pwn
  • connect
  • 退出

(试试看)

还有

http://loclahost:9990/management/subsystem/datasources/data-source/OracleSampleDS/statistics/pool?include-runtime=true

我不同的端口请看你的hosts.xml(如果你使用的是域模式) 或standalone.xml通过检查来查看您公开的管理端口 请查看 http-interface security-realm =“ManagementRealm”

部分