Die Verbindung zu JBoss 7 mit VisualVM
Habe ich remote-JBoss-7.1-server und ich möchte eine Verbindung zu diesem server mit VisualVM oder JConsole.
Ich ein wenig gegoogelt und fand mehrere threads/tutorials, wie man eine Verbindung zum JBoss 7.1 mittels VisualVM oder JCoonsole, z.B.:
- https://community.jboss.org/thread/171346?start=0&tstart=0
- https://issues.jboss.org/browse/WFLY-895
- https://community.jboss.org/wiki/UsingJconsoleToConnectToJMXOnAS7
- http://blog.akquinet.de/2012/11/01/connecting-visualvm-with-a-remote-jboss-as-7-eap6-jvm-process/
Leider hatte ich kein Glück in der Verbindung zu meinem JBoss 7.1 über JMX.
Haben Sie Ideen, wie eine Verbindung zum JBoss 7.1 mit VisualVM?
BEARBEITEN:
Ich fügte hinzu,- Dcom.Sonne.management.jmxremote.port=1090 -Dcom.Sonne.management.jmxremote.authenticate=false standalone.conf.Fledermaus, aber ich habe eine Ausnahme:
Verursacht durch: java.lang.IllegalStateException: Der LogManager war nicht richtig inst
alled (Sie müssen "java.util.die Protokollierung.manager" system-Eigenschaft auf "org.jboss.logmanager.LogManager").
So, ich fügte hinzu, eine weitere option zu JAVA_OPTS: -Dcom.Sonne.management.jmxremote.port=1090 -Dcom.Sonne.management.jmxremote.authenticate=false -Djava.util.die Protokollierung.manager=org.jboss.logmanager.LogManager
aber die exception die ich erhalte ist das:
Could not load Logmanager "org.jboss.logmanager.LogManager"
java.lang.ClassNotFoundException: org.jboss.logmanager.LogManager
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
Ich habe versucht, hinzufügen -Dcom.Sonne.management.jmxremote.port=1090 -Dcom.Sonne.management.jmxremote.authenticate=false standalone.conf.Fledermaus (ich benutze JBoss 7 auf Windows), und ich habe: Verursacht durch: java.lang.IllegalStateException: Der LogManager wurde nicht richtig installiert (Sie müssen "java.util.die Protokollierung.manager" system-Eigenschaft auf "org.jboss.logmanager.LogManager")
InformationsquelleAutor Ernestas Kardzys | 2013-10-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Eine Lösung gefunden. Ich brauchte das hinzufügen der folgenden Parameter zur JAVA_OPTS in der standalone.conf.bat:
Hinweis 1: Verwenden Sie
\
statt^
auf Unix.Hinweis 2: Ersetzen
<JBOSS_PATH>
mit den JBoss 7.x-Installations-Pfad. Mir warc:/java/jboss-as-7.1.1.Final
.InformationsquelleAutor Ernestas Kardzys
Wenn Sie, öffnen Sie eine Kommandozeile und geben Sie "netstat-a", sehen Sie etwas, HÖREN auf die JMX-port 1090? Wenn nicht, haben Sie vielleicht zu prüfen, JBOSS-Konfiguration.
https://community.jboss.org/thread/171346?start=0&tstart=0
InformationsquelleAutor duffymo
Können Sie direkt die JBOSS JMX-statt der VM ein (keine Notwendigkeit zu ändern JAVA_OPTS)
Nur sicherstellen, dass Sie haben die folgende config in standalone.xml (JMX-subsystem aktiv)
im standalone-Modus (hörte den port 9999):
im domain-Modus (hörte port 4447)
Dann müssen wir ein wenig hack : Wie JBoss JMX-Implementierung ist eine etwas spezielle, die wir brauchen, um einige jboss-lib im classpath der JVisualVM
Holen Sie sich die Datei
$JBOSS_HOME/bin/jconsole.sh/jconsole.bat
und kopieren /umbenennen jvisualvm.sh /jvisualvm.bat im gleichen Verzeichnis.Dann ersetzen Sie den Aufruf zu jconsole pro jvisualvm mit
-cp:a "$CLASSPATH"
statt-J-Djava.class.path="$CLASSPATH"
Nun starten Sie einfach visualVM mit dem Skript, und fügen Sie einen neuen JMX-Verbindung (Menü Datei) verwenden Sie die folgende url
service:jmx:remoting-jmx://hostname:port
(die Zugangsdaten sind die, die man von management-realm)NB: denken Sie an ssh tunnel, wenn Sie keinen direkten Zugriff auf die JMX-port
Einfach, leicht, keine JAVA_OPTS änderung. Genial!
InformationsquelleAutor Gab
Fügen Sie die JVM-entscheidet sich zu laufen.conf (run.conf.bat)
JAVA_OPTS="$JAVA_OPTS -Dcom.Sonne.management.jmxremote.port=9999 -Dcom.Sonne.management.jmxremote.authenticate=false -Dcom.Sonne.management.jmxremote.ssl=false -Dcom.Sonne.management.jmxremote"
In Visual VM-Konsole öffnen Sie ein remote-host. Und Fügen Sie die JMX-Verbindung und geben Sie die Portnummer wie <9999>
InformationsquelleAutor abeym