letzte Kommentare Was soll das hier?


04
Juni
Tomcat und JMX
Es gibt grundsätzlich zwei Möglichkeiten einem Tomcat-Server via JMX Informationen zu entlocken:
  1. JMX-Proxy der Manager-Applikation des Tomcat
  2. Aktivierung des JMX-Agenten der JVM (ab 1.5)
Beide Varianten glänzen erstmal dadurch, dass sie die Systemsicherheit kompromitieren (können). Da die sich potentiell auftuenden Löcher aber sehr unterschiedlich sind lassen sich beide Varianten hinsichtlich der Sicherheit aber schlecht vergleichen. Letzendlich muss man wohl wissen, welche Daten man auf welchem Weg erlangen möchte und damit den Hautptausschlag für eine der beiden Varianten geben.

JMX-Proxy der Manager-Applikation

Die Manager-Applikation des Tomcat beinhaltet auch ein Servlet zum Zugriff auf die per JMX vom Tomcat bereitgestellten Parameter. Einzige Voraussetzung - die Manager-Applikation muss installiert sein.

Der Aufruf der URL http://server:port/manager/jmxproxy zeigt eine längliche Liste aller verfügbaren JMX-Informationen an. Die Suche nach dedizierten Werten ist über einen Query-Parameter möglich. Beispielweise liefert der Request http://localhost:8080/manager/jmxproxy?qry=Catalina:type=ThreadPool,name=http-8080 Kenndaten über die vom Server aktuell gehaltenen Threads.

Leider gibt es meines Wissens keine Übersicht über alle möglichen Abfragen. Hier muss man wohl einfach ein bisschen rumsuchen.

Eine (sehr) kurze Einführung in das JMX-Proxy-Servlet gibt es auf der Tomcat-Seite.

Aktivierung des JMX-Agenten der JVM

Die Aktivierung des JMX-Agenten der JVM ist sicherlich die elegantere Lösung - bietet sich hier doch die Möglichkeit über vorhandene JMX-Konsolen auf die Daten zuzgreifen.

Die Aktivierung des JMX-Agenten wird bei Sun recht ausführlich beschrieben. Die Optionen reichen von einer Aktivierung nur für den Lokalen Zugriff bis hin zum Remote-Zugriff via SSL. Je höher die Sicherheitsaspekte um so höher leider auch der Aufwand bei der Konfiguration.

Zum Zugriff bietet sich die JMX-Konsole (jconsole) an, die von Java ab Version 1.5 mitgeliefert wird. Damit kann man recht komfortabel im Baum der vom JMX-Agenten bereitgestellten Informationen browsen.

Fazit

Wenn man weiss, welche Informationen man auslesen muss dann ist sicherlich das JMX-Proxy-Servlet ausreichend. Baut man in die Applikationen recht umfangreiche Möglichkeiten zum Management via JMX ein so ist die Aktivierung des JMX-Agenten vermutlich die bessere Lösung. Zumal sich dort auch die "besseren" Sicherheitsfeatures umsetzen lassen.

Online for 6554 days
Last update: 2010.10.03, 23:31
status
You're not logged in ... login
menu
search
 
calendar
Juni 2007
Mo
Di
Mi
Do
Fr
Sa
So
 
 
 
 
 1 
 2 
 3 
 5 
 6 
 7 
 8 
 9 
10
11
12
13
14
15
16
17
19
20
21
22
23
24
25
26
27
28
29
30
 
 









Weblog Commenting and Trackback by HaloScan.com