Мониторинг пула подключений - PullRequest
9 голосов
/ 23 ноября 2011

Мне нужна информация о мониторинге пула соединений в моем веб-приложении.
Технические характеристики приложения указаны ниже:

  1. Сервер приложений - сервер приложений JBoss
  2. База данных - Oracle 10g
  3. Back-end - Hibernate

Мне нужно знать, каковы различные способы мониторинга пула соединений и как мы можем это сделать.Будь через Hibernate или через JBoss или любым другим способом?Пожалуйста, предложите мне правильный способ сделать это.

Ответы [ 4 ]

9 голосов
/ 23 ноября 2011

Для типичного Java-приложения на стороне сервера одним из наиболее предпочтительных способов мониторинга является JMX . Большинство приложений (включая пулы соединений) предлагают компонент по умолчанию JMX (называемый MBeans или управляемые компоненты), который можно использовать для мониторинга. Пул соединений (например, C3P0) создает MBean, связывает его с базовым доступным сервером JMX (который есть почти на всех серверах приложений, включая tomcat, JBoss)

Этот MBean будет содержать всю информацию о пуле соединений. Вы упомянули, что используете сервер JBoss. На консоли веб-администратора, предлагаемой Jboss, должен быть условием для просмотра всех MBean-компонентов (включая MBean развернутого пула соединений).

Еще один способ мониторинга - это утилита JConsole , которая поставляется с Java. Эту же JConsole можно использовать и для мониторинга JBoss AS.

3 голосов
/ 03 июля 2015

FlexyPool - это прокси источника данных, обеспечивающий лучший мониторинг и отработку отказа почти для всех известных пулов соединений:

  • Apache DBCP
  • Apache DBCP2
  • C3P0
  • BoneCP
  • HikariCP
  • Tomcat CP
  • Vibur DBCP
  • Менеджер транзакций Bitronix
  • Atomikos TransactionsEssentials

Позволяет отслеживать следующие показатели:

  • гистограмма одновременных подключений
  • гистограмма одновременных запросов на соединение
  • гистограмма времени получения соединения с источником данных
  • гистограмма времени аренды соединения
  • гистограмма максимального размера пула
  • гистограмма общего времени установления соединения
  • гистограмма размера переполненного пула
  • повторяет попытки гистограммы

Таким образом, вы можете настроить размер пула таким образом, чтобы он мог вместить как можно больше узлов приложения, защищая вас от некоторых неожиданных всплесков трафика .

3 голосов
/ 23 ноября 2011

Это может быть не то, что вы хотите. Но что вы используете для бассейна в любом случае? Если вы еще не решили, проверьте C3PO , он предоставляет открытые атрибуты JMX для мониторинга

1 голос
/ 08 сентября 2016

Я обнаружил, что при использовании JConsole , как предлагалось в других ответах для подключения к JBoss (5.2) через JMX, MBeans для пула соединений не были видны.

Вместо этого я использовал встроенныйв JMXConsole обычно доступно по адресу: http://localhost:8080/jmx-console - возможно, вам придется изменить имя хоста и порт для вашего развертывания.

Если это работает, вы увидите запрос имени пользователя и пароля.
Имя пользователя / пароль по умолчанию: admin / admin
Первый раз, когда я попробовал это сделать, ничего не произошло, мне пришлось обновить файл: server / default / conf/props/jmx-console-users.properties и раскомментировать 2-ю строку:

# A sample users.properties file for use with the UsersRolesLoginModule
admin=admin

Как только это было сделано, я мог войти в систему.В этот момент в Фильтр ObjectName я ввел: jboss.jca: * Затем я выбрал соответствующую ссылку на пул соединений, например: name = DefaultDS, service = ManagedConnectionPool которая отображает всю информацию о пуле соединений, например, AvailableConnectionCount, InUseConnectionCount и т. д.

...