Ein großer Teil der Geschäftslogik von Unternehmen ist heute in Java-Software abgebildet. Dennoch werden Java-Anwendungen nur allzu häufig als Black Box betrieben und die Analyse von Störungen sehr schnell an Entwicklungsabteilungen delegiert. Diesen steht jedoch in der Regel keine für eine Ursachenanalyse ausreichende Informationsbasis zur Verfügung, so dass Operations und Entwicklung sich auf eine langwierige und schmerzhafte Suche machen.
Dabei bietet die Java-Plattform durchaus interessante Möglichkeiten der Überwachung, die eine schnelle Eingrenzung der Wurzelursache erleichtern, aber leider noch zu wenig bekannt sind und kaum genutzt werden. Im Vortrag werden zunächst einige Grundlagen hierfür vorgestellt, insbesondere JMX. Am Beispiel von Apache Tomcat vertiefen wir, welche für das Monitoring sehr spannenden Parameter dort zur Verfügung stehen, aber auch welche Probleme dieser Ansatz mit sich bringt.
Ein kurzer Ausflug in die Analyse von Java-Thread Dumps schließt den Vortrag ab. Thread Dumps sind der wichtigste – das Monitoring ergänzende – Ansatz für das Troubleshooting von Java-Anwendungen, insbesondere wenn es um Performance-Probleme in verteilten Landschaften geht. Nicht zu vergessen: diese Methode kann auch in Produktion verwendet werden.