Überwachung des Verbindungspools

8

Ich brauche einen Einblick in die Überwachung des Verbindungspools in meiner Webanwendung.
Die technischen Spezifikationen für die Anwendung sind nachfolgend aufgeführt:

  1. Anwendungsserver - JBoss Application Server
  2. Datenbank - Oracle 10g
  3. Back-End - Ruhezustand

Ich muss wissen, was die verschiedenen Arten sind, den Verbindungspool zu überwachen und wie wir das tun können. Ob durch Hibernate oder durch JBoss oder auf andere Weise? Bitte schlage mir den richtigen Weg vor.

    
Marshal 23.11.2011, 12:04
quelle

4 Antworten

3

Dies ist möglicherweise nicht das, was Sie wollen. Aber was nennst du eigentlich für den Pool? Wenn Sie sich nicht entschieden haben, schauen Sie sich C3PO an, es bietet JMX exponierte Attribute für die Überwachung

    
James 'Cookie' Cook 23.11.2011, 12:30
quelle
9

Bei einer typischen serverseitigen Java-Anwendung ist eine der am meisten bevorzugten Arten der Überwachung die JMX . Die meisten Anwendungen (einschließlich Verbindungspools) bieten eine standardmäßige JMX-Bean (MBeans oder Managed Beans genannt), die für die Überwachung verwendet werden kann. Ein Verbindungspool (z. B. C3P0) erstellt eine MBean bindet sie mit dem zugrunde liegenden verfügbaren JMX-Server (der in fast allen Anwendungsservern einschließlich Tomcat, JBoss vorhanden ist)

Diese MBean enthält alle Informationen zum Verbindungspool. Sie haben erwähnt, dass Sie den JBoss-Server verwenden. In der von Jboss angebotenen Web-Admin-Konsole sollte eine Bereitstellung sein, um alle MBeans (einschließlich der MBean des bereitgestellten Verbindungspools) anzuzeigen.

Eine andere Möglichkeit zur Überwachung ist das JConsole Dienstprogramm, das kommt mit Java. Die gleiche JConsole kann auch für JBoss verwendet werden.

    
Santosh 23.11.2011 12:55
quelle
3

FlexyPool ist ein Datenquellen-Proxy, der eine bessere Überwachung und Failover für fast alle bekannten Verbindungspools bietet:

  • Apache DBCP
  • Apache DBCP2
  • C3P0
  • BoneCP
  • HikariCP
  • Tomcat CP
  • Vibur DBCP
  • Bitronix Transaktionsmanager
  • Atomikos TransactionsEssentials

Damit können Sie die folgenden Metriken überwachen:

  • Gleichzeitige Verbindungen Histogramm
  • Gleichzeitiges Verbindungsanfrage-Histogramm
  • Datenquellenverbindung, die das Zeithistogramm erfasst
  • Zeithistogramm für Verbindungsleasing
  • maximales Poolgrößenhistogramm
  • Zeithistogramm für die Gesamtverbindungserfassung
  • Überlaufpoolgrößenhistogramm
  • Versuche Versuche Histogramm

Auf diese Weise können Sie die Poolgröße so anpassen, dass sie so viele Anwendungsknoten wie möglich aufnehmen kann, während Sie vor einigen geschützt sind unerwartete Verkehrsspitzen .

    
Vlad Mihalcea 03.07.2015 12:32
quelle
0

Ich habe festgestellt, dass bei Verwendung von JConsole , wie in anderen Antworten vorgeschlagen, eine Verbindung zu JBoss (5.2) über JMX hergestellt wurde, die MBeans für das Verbindungs-Pooling nicht sichtbar waren.

Stattdessen habe ich die eingebaute JMXConsole verwendet, die normalerweise verfügbar ist unter: Ссылка - Sie müssen möglicherweise den Hostnamen und den Port für Ihre Bereitstellung ändern.

Wenn dies läuft, sehen Sie eine Eingabeaufforderung für Benutzername und Passwort.
Der Standard-Benutzername / das Standard-Passwort lautet: admin / admin
Ich fand das erste Mal, dass ich das versuchte, nichts passierte, ich musste die Datei aktualisieren: server / default / conf / props / jmx-console-users.properties und die zweite Zeile auskommentieren:

%Vor%

Sobald dies erledigt war, konnte ich mich einloggen. An dieser Stelle im Filter ObjectName habe ich Folgendes eingegeben: jboss.jca: * Ich habe dann beispielsweise den entsprechenden Verbindungspool-Link ausgewählt: name = DefaultDS, service = ManagedConnectionPool zeigt alle Informationen zum Verbindungspool, z AvailableConnectionCount, InUseConnectionCount etc.

    
ptha 08.09.2016 16:35
quelle