Wir haben eine Java-Webanwendung und möchten einige grundlegende Überwachungsfunktionen einrichten, um diese Überwachung in Zukunft zu erweitern. Unser Plan sieht folgendermaßen aus:
(1) Sammeln allgemeiner Informationen (z. B. Speicher und Threads) über die virtuelle Maschine des Web-Containers, in dem die Anwendung läuft.
(2) Überwachung des "Zustands" der Anwendung. Dies ist eher vage, aber zumindest möchten wir sehen, ob die Webanwendung noch aktiv ist und auf Anfragen reagieren kann.
(3) In Zukunft würden wir gerne mehr Informationen sammeln, die spezifisch für unsere Anwendung sind. Auch dies ist eher vage, aber Sie können davon ausgehen, dass wir bestimmte Statistiken, die von der Anwendung intern gesammelt werden, dem Supportpersonal zur Verfügung stellen möchten.
Normalerweise wird die Webanwendung in einer Tomcat 5.5- oder 6-Umgebung bereitgestellt. Eine kurze Suche im Internet zeigt, dass JMX für Tomcat aktiviert werden kann und dass JConsole dann zur Verbindung mit dem Server verwendet werden kann. Dies gibt uns viele grundlegende Informationen, die Punkt (1) lösen. Außerdem sind im MBeans-Abschnitt für "Catalina" einige Informationen verfügbar, und wenn ich diese näher untersuche, kann ich zum Beispiel sehen, wie viele Anfragen ein bestimmtes Servlet erhalten hat. Das ist nicht ganz das, was wir für Punkt (2) wollen, aber es gibt uns zumindest einige Informationen. Es scheint eine ganze Reihe von Informationen zu geben, die aber mit JConsole nur schwer zu interpretieren sind. Vielleicht gibt es ein besseres Werkzeug, um die von Tomcat bereitgestellten MBeans zu interpretieren.
Für Punkt (3) scheint es auf den ersten Blick, dass wir unsere eigenen MBeans schreiben und diese dann für etwas wie JConsole zur Verfügung stellen könnten. Für mich persönlich würde das bedeuten, dass ich mich in JMX einarbeiten müsste, was ich sehr gerne tue, aber ich habe Bedenken. Nachdem ich mich umgesehen habe, habe ich festgestellt, dass die meisten Lehrbücher zu diesem Thema seit mehreren Jahren nicht mehr aktualisiert wurden und die Open-Source-Tools ohne aktuelle Aktualisierungen vor sich hin zu dümpeln scheinen. Meine Hauptfrage ist also eine einfache Frage. Was ist Ihre Meinung zu JMX? Hat es eine Zukunft oder wurde es von etwas anderem abgelöst? Sollten wir uns angesichts der Tatsache, dass wir unsere Webanwendung bereits haben, aber für die Verwaltungskonsole von Grund auf neu anfangen, für JMX entscheiden oder gibt es etwas Angemesseneres, das eine bessere Zukunft hat?
Ich stelle diese Frage ohne ein persönliches Interesse, ich bin einfach an Ihren Meinungen und Erfahrungen interessiert. Ich bin sicher, dass es nicht die eine richtige Antwort gibt, aber ich denke, eine informierte Diskussion wäre nützlich.
Vielen Dank im Voraus,
Adam.