Web based JMX console for Tomcat?

Muton picture Muton · Feb 15, 2011 · Viewed 20.7k times · Source

Are there any web based JMX consoles available for Tomcat that basically provide the same functionality as Tomcat's JMX Proxy Servlet but in a more user friendly manner?

I understand that I could simply use jconsole over RMI but this solution is not always applicable because of firewall issues. It also requires extra server-side configuration and in some organizations changing server-side configurations might not be that straight-forward.

So what I would like to have is a simple war-file that I can just drop into my container without any configuration (lets forget security manager for now). Also, it would be nice if the user interface would be something that creates an impression of quality and reliability.

Answer

ChrLipp picture ChrLipp · May 13, 2012

JMiniX is released as a JAR file, so it is up to you if you deploy it as a part of your application or if you deploy it as an web application.

Work in progress is Aji which looks promising and which would allow running the Console and the application to monitor on different machines.

Out of the box there is the Tomcat Manager which provides a JMX proxy interface.

Jolokia is an HTTP/JSON bridge for remote JMX access. See this blogpost for implementing a JMX based dashboard.

I switched (or was forced to switch by our customer) to PSI Probe, a replacement of Tomcat Manager. PSI Probe does not provide a JMX proxy (Issue accepted), but displays Tomcat information very well. From their web site:

Unlike many other server monitoring tools, PSI Probe does not require any changes to your existing apps. It provides all of its features through a web-accessible interface that becomes available simply by deploying it to your server. These features include:

  • Requests: Monitor traffic in real-time, even on a per-application basis.
  • Sessions: Browse/search attributes, view last IP, expire, estimate size.
  • JSP: Browse, view source, compile.
  • Data Sources: View pool usage, execute queries.
  • Logs: View contents, download, change levels at runtime.
  • Threads: View execution stack, kill.
  • Connectors: Status, usage charts.
  • Cluster: Status, usage charts.
  • JVM: Memory usage charts, advise GC
  • Java Service Wrapper: Restart JVM.
  • System: CPU usage, memory usage, swap file usage.

So to summarize it: If there would be a tool like PSI Probe but with JMX proxying functionality I would be happy. Unfortunately I did't find any, but a PSI Probe issue is scheduled.