Mamy aplikację internetową Java i chcielibyśmy ustawić podstawowe monitorowanie w celu rozszerzenia tego monitorowania w przyszłości. Nasz plan jest następujący:.Monitorowanie aplikacji internetowej Java - czy JMX jest właściwym wyborem?
(1) Zbieranie informacji rodzajowe (np pamięć i wątków) o maszynie wirtualnej pojemnika internetowej, że aplikacja jest uruchomiona w
(2) Monitorowanie „stan” w podanie. Jest to raczej niejasne, ale przynajmniej chcielibyśmy sprawdzić, czy aplikacja internetowa wciąż żyje i może odpowiadać na żądania.
(3) W przyszłości chcielibyśmy zebrać więcej informacji, które są specyficzne dla naszej aplikacji. Ponownie jest to mało precyzyjne, ale można założyć, że możemy chcieć, aby pewne statystyki były gromadzone wewnętrznie dzięki aplikacji dostępnej dla personelu pomocniczego.
Zazwyczaj aplikacja internetowa zostanie wdrożona w środowisku Tomcat 5.5 lub 6. Szybkie wyszukiwanie w Internecie pokazuje, że JMX może być włączony dla Tomcat i że JConsole może być następnie użyte do połączenia z serwerem. Daje nam to wiele podstawowych informacji, które rozwiązują punkt (1). Ponadto niektóre informacje są dostępne w sekcji MBeans dla "Catalina" i odwiertu na tym mogę przynajmniej, na przykład, zobaczyć, ile wniosków otrzymał konkretny serwlet. Nie jest to dokładnie to, czego chcemy dla punktu (2), ale przynajmniej podaje nam pewne informacje. Wydaje się, że jest tam sporo informacji, ale dość trudno interpretować za pomocą JConsole. Być może istnieje lepsze narzędzie do interpretacji MBean ujawnionych przez Tomcat.
Dla punktu (3), na pierwszy rzut oka wydaje się, że moglibyśmy napisać nasze własne MBeany, a następnie udostępnić je dla czegoś takiego jak JConsole. Osobiście angażowałoby mnie to poznanie JMX, z czego jestem zadowolony, ale mam obawy. Rozglądając się wokół zauważam, że większość podręczników na ten temat nie była aktualizowana od kilku lat, a narzędzia open source wydają się marnieć bez najnowszych aktualizacji. Moje główne pytanie jest proste. Jakie są Twoje opinie na temat JMX? Czy ma przyszłość, czy jest, czy została zastąpiona przez coś innego? Biorąc pod uwagę, że mamy już naszą aplikację internetową, ale zaczynamy od zera dla konsoli zarządzania, czy powinniśmy wybrać JMX, czy jest coś bardziej odpowiedniego z lepszą przyszłością?
Zadaję to pytanie bez szlifu osobistego, po prostu chcę poznać twoje opinie i doświadczenia. Jestem pewien, że nie ma jednej poprawnej odpowiedzi, ale myślę, że przydatna byłaby przemyślana dyskusja.
Z góry dziękuję,
Adam.
Dzięki. Dobrze jest usłyszeć twój pozytywny pogląd na przyszłość JMX! – Adam
@Brian Czy Jprofiler używa wewnętrznie JMX? – Geek