Wie aktivierst du JMX in Websphere?
Ich möchte mit JConsole zur überwachung meiner Websphere-Anwendung, aber ich bin nicht sicher, wie Sie Sie zum aktivieren von JMX.
InformationsquelleAutor der Frage | 2008-12-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Folgende Informationen für Websphere 6.1 auf Windows.
Erste von allen, der Magie-URL für die Verbindung zum MBean-server:
Wenn Sie eine Standard-Websphere-installation, die JNDI-Anschlussnummer wird wahrscheinlich sein, 2809, 2810, ... je nachdem, wie viele Server es gibt, installiert auf einem system und demjenigen, das Sie eine Verbindung herstellen möchten. Um sicher zu sein, beim starten von Websphere, überprüfen Sie die Protokolle, als es dumpt eine Zeile wie
Wenn Sie nicht bekommen, diese Zeile, öffnen Sie die Websphere-Verwaltungskonsole, und gehen Sie zu
um zu sehen, ob Sie brauchen, um hinzuzufügen, oder ändern Sie die config.
Zweite wichtige information ist, dass Sie die folgenden JAR ist immer erforderlich, wenn dabei JMX mit dem server:
Finden Sie diese JAR-Datei in der die
runtimes
Verzeichnis von Websphere. Was auch immer Sie tun, ob Sie programmgesteuert Zugriff auf MBeans auf Websphere oder mit JConsole, und so weiter, verwenden Sie die Magie-URL und immer gehören diese JAR-Datei.Für den Rest dieser Antwort davon ausgehen, dass Websphere installiert ist D:\prog\was61.
Laufen JConsole, geben Sie Folgendes ein:
Dann gehen Sie auf die Registerkarte "Erweitert" und geben Sie in die Magische JMX-URL. Drücken Sie auf verbinden, und Sie sollten die MBeans angezeigt.
Verwendung einer Sun-JDK ist eine völlig andere Sache. Sie benötigen eine extra JAR, ist in der lib des IBM JDK, aber keine Sonne (ibmorb.jar), und vielleicht auch der folgende Befehl kann für Sie arbeiten:
Ich sage vielleicht, weil es für mich nicht funktioniert. Ich bekam eine schöne jndiUnavailCommErr Fehlermeldung, da es erwartet, dass etwas auf port 2809, während meine Websphere-installation hört auf 2810, obwohl ich richtig angegeben port 2810 in der JMX-URL. Aber, wenn du die Pfade anpassen um auf Ihre Sun-JDK, es könnte für Sie arbeiten. Es ist der nächste, den ich jemals bekam, um die Verbindung zu Websphere mit Sun ' s JDK.
Letzte Anmerkung: ich habe versucht, eine Lösung auf Basis von RMI, es ist auch ein SOAP-connector verfügbar, aber habe es nicht ausprobiert.
Wie immer mit J2EE, Websphere und Sachen: viel Glück, du wirst es brauchen.
InformationsquelleAutor der Antwort eljenso
Ist es einfach. Nur Websphere starten mit der folgenden JMX Parameter:
Dann starten Sie JConsole oder VisualVM und eine Verbindung zu localhost:1099
Da bin ich nicht posten darf ein Beweis-screenshot poste ich die Informationen aus der visualvm "übersicht" - Reiter.
InformationsquelleAutor der Antwort Robert Höglund
Vielleicht ist es ein wenig offtopic, aber ich habe einen Weg gefunden, um die Verbindung zu 7.0 WAR JMX-server von JConsole.
Keine server-setup ist erforderlich, keine AppClient, nur einige Gläser und ein kleines client-setup.
Verwenden Sie das folgende Skript
Wenn der Ziel-server über administrative security deaktiviert ist, kommentieren Sie CLIENTSAS und PROVIDER-Leitungen.
Wenn die Sicherheit aktiviert ist, müssen Sie auch die sas.client.Requisiten-Datei in THIS_DIR-Verzeichnis. Die Vorlage-Datei finden Sie unter WAS_profile\properties-Verzeichnis. Sie haben zu tun, ein wenig setup. Hier ein Auszug aus meinen sas.client.Requisiten
OK 🙂
Nach dem herstellen der Verbindung das login-Fenster wird angezeigt. Geben Sie Ihren Administrator-Benutzer und das Kennwort (user & pw sind nicht erforderlich im Dialogfeld Verbindung in JConsole)
Können Sie mit der JConsole IBM JDK oder Sun JDK. Für IBM ist keine weitere Einrichtung erforderlich ist. Doch für die Sonne, die Sie möglicherweise benötigen, um orb.Eigenschaften-Datei in Ihrem home-Verzeichnis. Die Datei kann gefunden werden in com.ibm.ws.ejb.thinclient_7.0.0.jar.
InformationsquelleAutor der Antwort Boguś
Konnte ich nicht ankommen dieses zu wirken. Alles was ich bekam war
Jedoch habe ich es arbeiten, indem Sie Folgendes tun:
Aber keine nützliche mbeans zu zeigen..?
InformationsquelleAutor der Antwort Tommy
Fand ich, dass, um die Verbindung zu 6.1 WURDE mit dem Sun JDK JConsole, zusätzlich zu den
com.ibm.ws.admin.client_6.1.0.jar
JAR-Datei hatte ich auch auf die folgenden 3 Gläser auf dem boot class path beim starten der JConsole:-Diese finden Sie in der java\jre\lib-Verzeichnis des websphere.
Beispielsweise auf windows, wenn Sie kopieren alle vier Gläser oben aufgeführten, um ein Verzeichnis Ihrer Wahl (habe ich kopiert haben C:\packages\was61-jmx im Beispiel unten), können Sie eine batch-Datei wie der folgenden beginnen JConsole:-
Dieser arbeitete für mich für jdk 1.5 und 1.6-Versionen der Sonne Jconsole.
InformationsquelleAutor der Antwort Alan Chan
Habe ich auch gekämpft für ein paar Stunden, um dies zu arbeiten und ich die Lösung gefunden. Die zentrale Frage ist hier, ist SSL - client verwenden muss, um die richtigen Tasten zum herstellen einer SSL-Verbindung an den server. Dies beinhaltet den Hinweis auf die korrekte trust store-Standort und der trust store-Kennwort wie beschrieben hier. Die beste Möglichkeit zum einrichten der Umgebung ist, rufen Sie die setupCmdLine.sh (auf windoof ist es setupCmdLine.bat) für den entsprechenden server, und starten Sie jconsole wie diese:
InformationsquelleAutor der Antwort Drago Z Kamenov
Können Sie nicht die erforderlichen Systemeigenschaften durch die Konsole WAR, da es nicht zulässt, geben Sie leere Werte. Stattdessen müssen Sie fügen Sie den folgenden unten "server.xml':
InformationsquelleAutor der Antwort Max
Blick auf die folgenden einfache Methode zum verbinden von jconsole für Websphere 6.1
Tut es bei mir funktioniert (Solaris, War 6.1, Sun JVM), es funktioniert auch mit Visual VM
Genießen !
InformationsquelleAutor der Antwort
Finden Sie den richtigen port für die Verbindung auf dem WebSphere Application Server unter Kommunikation -> Ports. Der port, der damit assoziiert "BOOTSTRAP_ADDRESS" können Sie eine Verbindung herstellen.
InformationsquelleAutor der Antwort tjg184
vom http://malliktalksjava.in/2010/07/26/enable-jmx-remote-port-in-websphere/
Login Admin-Konsole der web sphere profile(server), short cut verfügbar sein wird im start-Menü Programme.
Aktivieren Sie die PMI-Daten und alle Statistiken aktiviert.
Set JVM-argument
zeigt in der Server-Liste. klicken Sie auf den server, den Sie möchten.
klicken Sie auf Java Virtual Machine. setzen Sie die
-Djavax.management.builder.initial= -Dcom.sun.management.jmxremote
im Generic Jvm Arguments Feldund speichern änderungen.
Aktivieren Sie die JMX-remote-port öffnen Sie die folgenden Eigenschaften der Datei, und fügen Sie den code, der folgt.
In [WebSphere-Verzeichnis]\AppServer\java\jre\lib\management\management.Eigenschaften hinzufügen:
Speichern Sie die master-Daten, beenden Sie den server, und starten Sie den server zu laden, die änderungen.
InformationsquelleAutor der Antwort qxo
können Sie Folgendes versuchen, es verwendet das SOAP-Protokoll-adapter. Ich denke, es ist so schlank eine Konfiguration möglich.
Gutschriften auf mein Kollege Jeroen für die erste version des Skripts mittels IIOP (ich versuche SOAP, in der Hoffnung, dass es funktionieren wird mit Hyperic)
InformationsquelleAutor der Antwort Eddy
Ok. Es gibt zwei Möglichkeiten, dies zu tun:
eine Verwendung von SOAP-connector
eine Verwendung von RMi/IIOP-Anschluss.
Für die SEIFE, die Sie tun müssen, WURDE das setup zum hinzufügen einer neuen PORT und andere JVM-args oben beschrieben. Aber alles, was Sie bekommen einmal JConsole Verbindung zum server herstellt, sind grundlegende JVM-Metriken.
Mit RMI-Sie erhalten alles, was, WebSphere stellt. Alle MBeans!
Die einzige Einschränkung ist: wenn Ihr WAR die JVM ist hinter einer firewall müssen Sie einen port öffnen, um es zu bekommen von Ihrem desktop aus. Aber Sie können laufen über X11 direkt aus der app-server host!
Ich verwendet JDK7 auf meinem Windows-XP-desktop-Verbindung zu 7.0 WAR mit die Globale Sicherheit aktiviert ist.
Ich nahm ein script aus Antwort #4 oben und benutzt es als Ausgangspunkt.
Hier ist meine version davon:
Den WAS_HOME ist nur ein Verzeichnis, wo ich die IBM-Gläser, die ich heruntergeladen habe aus meinem WebSphere-binaries (aus Solaris). Ich habe auch zwei Unterverzeichnisse unter: Eigenschaften und keystore.
In den Eigenschaften subdir ich meine sas.client.Requisiten und ssl.client.Requisiten, auch heruntergeladen, von einer funktionierenden WAS7 Zelle (ich nahm es aus der DM).
In der keystore-subdir ich den Schlüssel.p12 und Vertrauen.p12-Dateien heruntergeladen von einer WAS7 Zelle. Stellen Sie sicher, dass Sie das Recht haben, mit APZ! Wenn die aus WAR/etc nicht funktionieren - versuchen Sie die, die von ${CONFIG_ROOT}/Zellen/.
Ändern ssl.client.Requisiten, um sicherzustellen, dass der Pfad zu der p12-Dateien ist richtig!!!!
Nun, um für diese zu arbeiten, müssen Sie auch laden Sie die folgenden von Ihr WAR Binärdateien:
Setzen das ganze Verzeichnis unter SUN JDK ist jre/lib - Verzeichnis. Dieser kümmert sich um die IBM JSSE2 Fehler des Providers und so.
Außerdem erhalten Sie die folgenden drei Dateien aus WAS_BIN_HOME/java/jre/lib/security:
Ich nur überschrieben haben, diejenigen, die kam mit SUN ' s JDK mit denen, die ich nahm von IBM.
Auch in sas.client.Requisiten werden, geben Sie für Benutzer-ID und Passwort, ähnlich wie Sie es in Seife.client.Requisiten. Kodieren Sie das Kennwort auf die gleiche Weise. Dies ist erforderlich, um vorbei an der Globalen Sicherheit ist BasicAuth.
Ich denke, das ist es.
P. S. ich bin kein Windows-Profi, also wenn es ein sauberer Weg, dies zu tun - bitte teilen Sie es.
InformationsquelleAutor der Antwort Slava Baytalskiy