连接池监控

问题描述 投票:0回答:4

我需要了解如何监控 Web 应用程序中的连接池。
有关应用程序的技术规格如下:

  1. 应用程序服务器 - JBoss 应用程序服务器
  2. 数据库 - Oracle 10g
  3. 后端 - 休眠

我需要知道监控连接池的不同方法是什么以及我们如何做到这一点。是通过 Hibernate 还是通过 JBoss 还是其他方式? 请建议我正确的方法。

java hibernate jboss monitoring connection-pooling
4个回答
9
投票

对于典型的服务器端 Java 应用程序,最优选的监控方式之一是通过 JMX。大多数应用程序(包括连接池)都提供可用于监控的默认JMX bean(称为 MBean 或托管 bean)。连接池(例如 C3P0)创建一个 MBean,将其与底层可用的 JMX 服务器(几乎所有应用程序服务器中都存在,包括 tomcat、JBoss)绑定在一起

这个 MBean 将保存有关连接池的所有信息。您已经提到您正在使用 JBoss 服务器。在 Jboss 提供的 Web 管理控制台上,应该可以查看所有 MBean(包括已部署的连接池的 MBean)。

另一种监控方法是通过 Java 附带的 JConsole 实用程序。相同的 JConsole 也可用于监控 JBoss AS。


6
投票
FlexyPool

是一个数据源代理,为几乎所有已知的连接池提供更好的监控和故障转移:

阿帕奇DBCP
  • 阿帕奇 DBCP2
  • C3P0
  • 骨CP
  • 光CP
  • 雄猫CP
  • 维布尔 DBCP
  • Bitronix 交易管理器
  • Atomikos 交易要点
  • 它允许您监控以下指标:

并发连接直方图
  • 并发连接请求直方图
  • 数据源连接获取时间直方图
  • 连接租用时间直方图
  • 最大池大小直方图
  • 总连接获取时间直方图
  • 溢出池大小直方图
  • 重试次数直方图
  • 通过这种方式,您可以调整池大小,以便它可以容纳尽可能多的应用程序节点,同时保护您免受一些
意外的流量峰值


3
投票
C3PO

,它提供了用于监控的 JMX 暴露属性


1
投票
JConsole

通过JMX连接到JBoss(5.2)时,连接池的MBean不可见。 相反,我使用了内置的

JMXConsole

,通常可在:http://localhost:8080/jmx-console - 您可能需要更改部署的主机名和端口。 如果正在运行,您将看到用户名和密码提示。

默认用户名/密码是:

admin/admin
我发现第一次尝试此操作时,没有任何反应,我必须更新文件:server/default/conf/props/jmx-console-users.properties
并取消注释第二行: # A sample users.properties file for use with the UsersRolesLoginModule admin=admin

完成此操作后,我就可以登录了。此时,在 
ObjectName Filter

中,我输入: jboss.jca:* 然后,我选择了适当的连接池链接,例如: name=DefaultDS,service=ManagedConnectionPool,它显示了所有连接池信息,例如可用连接计数、使用连接计数等

© www.soinside.com 2019 - 2024. All rights reserved.