views:

14021

answers:

15

Hi all, I'm searching free tools for monitor tomcat (traffic, memory usage, threads, requests, CPU, logs,...). I'm currently using lambdaprobe on Tomcat 5.5.x, but it seems that is no more developed (or not? the site lambdaprobe.org is always down for me...). Has someone good experiences to share? In lambdaprobe there are some info available only if tomcat is instrumented with JMX. Well, JMX is something of strange and mysterious for me. Is a good solution in a production server? It's worth to spend my (little) time to learn it?

A: 

You should give OpenNMS a try. It has the ability to connect to Tomcat with JMX. It also uses Tomcat itself and has a lot of features.

carson
+6  A: 

http://tomcat.apache.org/tomcat-5.5-doc/monitoring.html

Yes i would recommend looking at JMX you can use the jconsole application to have a look at most of the stats you require to look at via JMX for tomcat pretty much straight away. The link above will help explain it better than I ever can in a few sentences.

run jconsole it should come with your JDK.

Paul

Paul Whelan
The main issue with going this route is that you don't get historical values. You don't want to leave jconsole running forever.
carson
A: 

I've used Nagios in the past and love it. Nagios has a lot of features including a simple plugin design (in case you need to create something specific for your needs).

Worth a look at least.

Liggy
+1  A: 

Take a look at Cacti and setup SNMP in your JVM , then take a look at this template. Using this method on our tomcat and resin servers and working very well. Also made a custom template to monitor the permgen space as well but I have not yet posted it anywhere.

jlintz
@jlintz - don't suppose you've posted that template since you posted this?
Tom Dunham
@Tom try http://justinlintz.com/cacti_graph_template_jvm_-_permgen.xml
jlintz
+1  A: 

Lambda probe

FoxyBOA
A: 

VisualVM allows you to deep dive into problem stops; and my present company uses zabbix for general system monitoring.

+2  A: 

Jopr (http:www.jboss.org/jopr/) may be what you want.

Heiko Rupp
+1  A: 

AppPerfect Agentless Monitor is well suited in this case. It supports most J2EE application servers such as BEA WebLogic 7.x/8.x/9.x/10.x, IBM WebSphere 5.x/6.x, Apache Tomcat 5.x, JBoss 3.2.x/4.x/5.x, Macromedia JRun 4.x, SunOne 7.x/8.x, Jetty 6.x and Oracle Application Server 10.1.x.

+1  A: 

Hi,

Check out Tcat Server, which provides Tomcat specific diagnostics. The product is free to use for developers and can be downloaded from www.mulesoft.com. You might also want to check out my blog post on monitoring vs. diagnostics for Tomcat here: http://blogs.mulesoft.org/2009/09/general-purpose-monitoring-vs-deep-diagnostics-choosing-the-right-tool/

+9  A: 

Try JavaMelody, http://javamelody.googlecode.com

It is opensource and active.

"traffic, memory usage, threads, requests, CPU, logs, ...":

  • traffic : yes (number of requests)
  • memory : yes
  • threads : yes
  • requests : yes, http but also sql
  • cpu : yes
  • logs : yes
  • and a lot more... see screenshots

And it is perfect in a production server.

evernat
Does not work if you are not running Tomcat as 'root' as it needs to read /proc/self/fd
Peter Sankauskas
This has been fixed.
an0nym0usc0ward
A: 

With Nagios you can monitor not only jmx (with jmx-plugin), but sql selects to database, health of host in general so on. It is web-console with own database, notification by e-mails...

Also it is free.

zaletniy
A: 

Hi, www.tomcatmonitor.com is a JMX based open source monitoring solutions. Have a look at it.

JOchen
A: 

Check out the eG Java Monitor - http://www.eginnovations.com/web/java-monitoring.htm It can monitor your JVM in great detail, provide historical stats, and also has custom monitors for Tomcat, JBoss, WebLogic etc.

Tom
+1  A: 

The already suggested Lamba Probe is a dead project.

There is a fork however: Psi Probe. It's not the perfect monitoring tool but is is a very good replacement for the default Tomcat Manager.

Jaap Coomans