Tenemos una aplicación web Java y nos gustaría configurar un control básico con el fin de ampliar esta monitorización en el futuro. Nuestro plan es el siguiente:.Monitoreo de una aplicación web Java: ¿es JMX la opción correcta?
(1) Recopilar información genérica (por ejemplo, la memoria y las discusiones) sobre la máquina virtual del contenedor web que se ejecuta la aplicación en
(2) Supervisar el "estado" de la solicitud. Esto es bastante impreciso, pero al menos nos gustaría ver si la aplicación web aún está activa y puede responder a las solicitudes.
(3) En el futuro nos gustaría recopilar más información específica de nuestra aplicación. De nuevo, esto es bastante vago, pero puede suponer que es posible que deseemos que determinadas estadísticas recogidas internamente por la aplicación estén disponibles para el personal de soporte.
Por lo general, la aplicación web se implementará en un entorno Tomcat 5.5 o 6. Una búsqueda rápida en la web muestra que JMX se puede habilitar para Tomcat y que JConsole se puede usar para conectarse al servidor. Esto nos da mucha información básica que resuelve el punto (1). Además, hay información disponible en la sección de MBeans para "Catalina" y profundizando en esto puedo, al menos, por ejemplo, ver cuántas solicitudes ha recibido un servlet en particular. Esto no es exactamente lo que queremos para el punto (2), pero al menos nos da cierta información. Parece que hay bastante información allí, pero es bastante difícil de interpretar utilizando JConsole. Tal vez haya una mejor herramienta para interpretar los MBeans expuestos por Tomcat.
Para el punto (3), parece, a primera vista, que podríamos escribir nuestros propios MBeans y luego ponerlos a disposición de algo como JConsole. Personalmente, esto me implicaría aprender sobre JMX, lo cual estoy feliz de hacer, pero tengo una preocupación. Después de mirar alrededor noto que la mayoría de los libros de texto sobre el tema no se han actualizado durante varios años y las herramientas de código abierto parecen estar languideciendo sin actualizaciones recientes. Entonces mi pregunta principal es simple. ¿Cuáles son sus opiniones sobre JMX? ¿Tiene un futuro o es/ha sido reemplazado por otra cosa? Dado que ya tenemos nuestra aplicación web, pero estamos comenzando desde cero para la consola de administración, ¿deberíamos elegir JMX o hay algo más apropiado con un futuro mejor por delante?
Hago esta pregunta sin ningún interés personal, simplemente me interesa escuchar sus opiniones y experiencias. Estoy seguro de que no hay una respuesta correcta, pero creo que una discusión informada sería útil.
Gracias de antemano,
Adam.
Gracias. ¡Es bueno escuchar su opinión positiva sobre el futuro de JMX! – Adam
@Brian ¿Jprofiler utiliza internamente JMX? – Geek