Thursday, November 05, 2009

Monitoring von JEE Anwedungen

Wer Details über eine laufende Webanwendung wissen will, sollte sich das Tool JavaMelody genauer ansehen.
Es ist extrem einfach zu installieren:
  • 2 Jar Dateien in den Classpath legen oder per Maven eine neue Dependency konfigurieren
  • 1 Filter und einen neuen Listener in die web.xml eintragen
Wenn man dann seine Webanwendung neu startet, bekommt man unter dem Pfad /monitoring genaue Auswertungen über z.B.Memoryverbrauch
  • Requestzeiten
  • Memoryverbrauch
  • Zustand der Threads
  • Aufgetretene HTTP Errorcodes
  • Warn / Error Einträge in Log4J Dateien
  • Zustand des Secondlevelcaches (wenn EHCache verwendet wird)
  • Wenn konfiguriert: Details über die JDBC Verbindung wie z.B. Anzahl der JDBC Statements, SlowQueryLogs etc.
Da das System mit JRobin arbeitet, werden auch historische Messdaten vorgehalten und graphisch dargestellt (Screenshots).


Als "Schmankerl" kann man sich die Informationen auch in regelmäßigen Abständen als PDF Report zumailen lassen.

Leider funktioniert JavaMelody zur Zeit noch nicht mit Grailsprojekten (Siehe
hier), auch die JDBC Auswertung per JNDI Lookup funktioniert noch nicht einwandfrei, aber alle anderen Features helfen einem immens, den Zustand einer laufenden JEE Applikation besser im Blick zu behalten

UPDATE: Mit Version 1.9.0 funktioniert JavaMelody nun einwandfrei in Grails, auch das JDBC Monitoring per JNDI funktioniert wie gewünscht. Für Grails wird inzwischen auch ein eigenes Plugin entwickelt


JavaMelody wurde per Plugin bereits in den Hudson CI Server integriert

3 comments:

6footplus fella said...

Cool!

Mit einem grails projekt hab ich es auch zum laufen gebraucht. Wie hast du es geschaft auch sql monitoring data zu bekommen? Wie gibt man die unterschiedlichen properties driver class name und nur driver bei einer grails datasource an?

Peter Schneider-Manzell said...

Mit driverclass und drivername hab ich es nicht zum laufen gebracht.

Es funktioniert aber einwandfrei, wenn man die DataSource auf JNDI umstellt.

Peter Schneider-Manzell said...

Gute Nachricht für alle, die JavaMelody in Grails integrieren wollen: Es ist bereits ein Grailsplugin in der Entwicklung.

Post a Comment