NAME

jmx_ - Wildcard plugin to monitor Java application servers via JMX

APPLICABLE SYSTEMS

Tested with Tomcat 4.1/5.0/5.5/6.0 on Sun JVM 5/6 and OpenJDK.

Any JVM that supports JMX should in theory do.

Needs nc in path for autoconf.

CONFIGURATION

  [jmx_*]
    env.ip 127.0.0.1
    env.port 5400
    env.category jvm
    env.username monitorRole
    env.password SomethingSecret

    env.JRE_HOME /usr/lib/jvm/java-6-sun/jre
    env.JAVA_OPTS -Xmx128m

Needed configuration on the Tomcat side: add

  -Dcom.sun.management.jmxremote \
  -Dcom.sun.management.jmxremote.port=5400 \
  -Dcom.sun.management.jmxremote.ssl=false \
  -Dcom.sun.management.jmxremote.authenticate=false

to CATALINA_OPTS in your startup scripts.

Replace authenticate=false with -Dcom.sun.management.jmxremote.password.file=/etc/tomcat/jmxremote.password \ -Dcom.sun.management.jmxremote.access.file=/etc/tomcat/jmxremote.access ...if you want authentication.

jmxremote.password: monitorRole SomethingSecret

jmxremote.access: monitorRole readonly

You may need higher access levels for some counters, notably ThreadsDeadlocked.

BUGS

No encryption supported in the JMX connection.

The plugins available reflect the most interesting aspects of a JVM runtime. This should be extended to cover things specific to Tomcat, JBoss, Glassfish and so on. Patches welcome.

AUTHORS

Mo Amini, Diyar Amin and Younes Hajji, Høgskolen i Oslo/Oslo University College.

Shell script wrapper and integration by Erik Inge Bolsø, Redpill Linpro AS.

Previous work on JMX plugin by Aleksey Studnev. Support for authentication added by Ingvar Hagelund, Redpill Linpro AS.

LICENSE

GPLv2

MAGIC MARKERS

 #%# family=auto
 #%# capabilities=autoconf suggest