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:
JMX-Proxy der Manager-ApplikationDie 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 JVMDie 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. FazitWenn 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.
|