Geekflare wird von unserem Publikum unterstützt. Es kann sein, dass wir durch den Kauf von Links auf dieser Seite Affiliate-Provisionen verdienen.
Unter Tomcat Zuletzt aktualisiert: September 24, 2023
Weitergeben:
Invicti Web Application Security Scanner - die einzige Lösung, die eine automatische Überprüfung von Schwachstellen mit Proof-Based Scanning™ ermöglicht.

JMX (Java Management Extension) ist eine sehr leistungsfähige Technologie, mit der Sie Tomcat MBeans verwalten, überwachen und konfigurieren können.

Wenn Sie ein Tomcat-Administrator sind, dann sollten Sie wissen, wie Sie JMX in Tomcat aktivieren, um Heap-Speicher, Threads, CPU-Auslastung, Klassen zu überwachen und verschiedene MBeans zu konfigurieren.

In diesem Artikel werde ich Ihnen erklären, wie Sie Tomcat mit JConsole aktivieren und eine Verbindung zu ihm herstellen.

Ich gehe davon aus, dass Sie Tomcat bereits installiert haben; falls nicht, können Sie die Installationsanleitung zu Rate ziehen.

  • Gehen Sie zu dem Pfad, auf dem Sie Tomcat installiert haben
  • Gehen Sie zum Ordner bin
  • Erstellen Sie eine Datei mit dem Namen "setenv.sh".
  • Ändern Sie die Datei mit dem Editor vi und fügen Sie Folgendes hinzu
CATALINA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9000 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
  • Speichern Sie die Datei mit ":w
  • Ändern Sie die Dateiberechtigung als ausführbar
chmod 755 setenv.sh

Bevor Sie Tomcat starten, um JMX zu überprüfen, lassen Sie uns einen Blick auf die obige Konfiguration werfen.

  1. Dcom.sun.management.jmxremote.port=9000 - Sie können die Portnummer ändern, wenn Sie möchten.
  2. Dcom.sun.management.jmxremote.ssl=false - dies bedeutet eine Verbindung ohne SSL
  3. Dcom.sun.management.jmxremote.authenticate=false - dies bedeutet, dass keine Authentifizierung erforderlich ist, wenn Sie den JMX-Client zur Verbindung mit der Tomcat-Instanz verwenden.

Starten wir den Tomcat mit der Skriptdatei startup.sh. Sobald er gestartet ist, können Sie ihn entweder mit dem Befehl netstat oder ps -ef grep überprüfen.

So überprüfen Sie mit netstat

netstat -anlp | grep 9000

[root@localhost ~]# netstat -anlp |grep 9000
tcp6 0 0 :::9000 :::* LISTEN 9372/java
[root@localhost ~]#

Um dies mit dem Befehl ps zu überprüfen

ps -ef |grep jmx

[root@localhost ~]# ps -ef|grep jmx
root 9372 1 0 21:30 pts/0 00:00:04 java -Djava.util.logging.config.file=/home/chandan/Downloads/apache-tomcat-8.0.28/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9000 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.endorsed.dirs=/home/chandan/Downloads/apache-tomcat-8.0.28/endorsed -classpath /home/chandan/Downloads/apache-tomcat-8.0.28/bin/bootstrap.jar:/home/chandan/Downloads/apache-tomcat-8.0.28/bin/tomcat-juli.jar -Dcatalina.base=/home/chandan/Downloads/apache-tomcat-8.0.28 -Dcatalina.home=/home/chandan/Downloads/apache-tomcat-8.0.28 -Djava.io.tmpdir=/home/chandan/Downloads/apache-tomcat-8.0.28/temp org.apache.catalina.startup.Bootstrap start
root 9816 9781 0 21:46 pts/0 00:00:00 grep --color=auto jmx
[root@localhost ~]#

Damit ist jmx in Tomcat aktiviert und es ist an der Zeit, eine Verbindung mit dem JMX-Client herstellen.

Sie können jeden beliebigen Client verwenden, aber um es Ihnen zu zeigen, werde ich jconsole verwenden, das mit Java geliefert wird.

Tomcat JMX mit Jconsole verbinden

  • Gehen Sie zu dem Pfad, in dem Sie jconsole haben

Tipp: Sie können den Befehl finden verwenden, wenn Sie sich nicht sicher sind.

  • Führen Sie jconsole aus
./jconsole

Daraufhin wird die Java Monitoring & Management Console geöffnet.

  • Wählen Sie "Entfernter Prozess".
  • Geben Sie den Host und den Port des Servers ein

jconsole-connection

  • Klicken Sie auf "Verbinden".

Dies stellt eine Verbindung zu Tomcat her und zeigt Ihnen sehr schöne Diagramme zur CPU-, Speicher- und Thread-Auslastung an. Dies ist bei der Fehlersuche sehr nützlich.

jconsole-overview

Sie können die GC auch von der Konsole aus durchführen.

  • Klicken Sie auf die Registerkarte Speicher und Sie sehen die Schaltfläche "GC durchführen".

jconsole-memory

Wie bereits zu Beginn des Artikels erwähnt, können Sie auch MBeans für die Klassen konfigurieren.

Dies wird häufig verwendet, wenn Sie die Protokollierung oder bestimmte Parameter zur Laufzeit ändern müssen.

Spielen Sie auch ruhig ein wenig mit Jconsole und JMX herum. Es ist ein wunderbares Werkzeug für die Fehlersuche und Überwachung.

Wenn Sie mehr über Tomcat erfahren möchten, dann Sehen Sie sich dieses Tutorial an an.

  • Chandan Kumar
    Autor
    Chandan Kumar ist der Gründer von Geekflare. Er hat Millionen von Menschen geholfen, sich im digitalen Bereich zu verbessern. Er hat eine Leidenschaft für Technologie und ist auf einer Mission, die Welt zu erforschen und das Wachstum von Fachleuten und Unternehmen zu steigern.
Dank an unsere Sponsoren
Energie für Ihr Unternehmen
Einige der Tools und Dienste, die Ihr Unternehmen beim Wachstum unterstützen.
  • Invicti nutzt das Proof-Based Scanning™, um die identifizierten Schwachstellen automatisch zu überprüfen und innerhalb weniger Stunden verwertbare Ergebnisse zu erzielen.
    Versuchen Sie Invicti
  • Web Scraping, Residential Proxy, Proxy Manager, Web Unlocker, Search Engine Crawler und alles, was Sie zum Sammeln von Webdaten benötigen.
    Versuchen Sie Brightdata
  • Monday.com ist ein All-in-One-Betriebssystem, mit dem Sie Projekte, Aufgaben, Arbeit, Vertrieb, CRM, Arbeitsabläufe und vieles mehr verwalten können.
    Versuch Montag
  • Intruder ist ein Online-Schwachstellen-Scanner, der Schwachstellen in Ihrer Infrastruktur aufspürt, um kostspielige Datenschutzverletzungen zu vermeiden.
    Versuchen Sie Intruder