From version < 6.1 >
edited by Vincent Massol
on 2011/05/06
To version < 7.1 >
edited by Vincent Massol
on 2011/05/06
< >
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -34,3 +34,12 @@
34 34  Interesting things to do on JGroups in the JMX console:
35 35  * Change the log level on the protocols to enable logging
36 36  * Disconnect a node from the cluster and reconnect it
37 +
38 += Tomcat JMX Proxy Servlet =
39 +
40 +Tomcat has a JMX Proxy Servlet bundled in their ##manager## webapp (see [[here>>http://tomcat.apache.org/tomcat-6.0-doc/manager-howto.html]] and [[here>>http://tomcat.apache.org/tomcat-6.0-doc/monitoring.html]] for more details on Tomcat and JMX]].
41 +
42 +Here's some useful URLs to use the JMX Servlet Proxy to list and set JGroups Protocol Levels:
43 +* To display the current log level for the TCPPING protocol: {{{http://localhost:8080/manager/jmxproxy?qry=jgroups:type=protocol,cluster=event,protocol=TCPPING}}}
44 +* To set the log level to ##info## for the TCPPING protocol: {{{http://localhost:8080/manager/jmxproxy?set=jgroups:type=protocol,cluster=event,protocol=TCPPING&att=Level&val=info}}}
45 +

There are 2 solutions you can use to monitor a running XWiki instance:

  • Use a Profiler. This has the advantage of providing advanced information, but has the drawback of being resource intensive and thus slowing the XWiki instance. It also requires a special startupscript.
  • Starting with XWiki Enterprise 2.4M2 we're now using the JMX Technology to provide runtime monitoring of XWiki instances. The following features are currently available:
    • Monitor the Velocity macro caches
    • Monitor the JBossCache caches XWiki is using to cache Document data, Users & Groups data and more
    • Monitor the JGroups channel and protocols (when the XWiki Cluster feature is turned on)

XWiki also has a Monitor Plugin that you can use to monitor execution times. However this plugin is going to be deprecated in the future and replaced by the JMX technology.

JMX Console

Since JMX is a standard you can use any JMX-compatible monitoring console (most application servers provide a web-based JMX console). There's also such a console called JConsole and which is bundled by default in the Java Runtime you're using. To start it, simply execute the jconsole executable.

Velocity Cache Monitoring

JConsole examples showing the Velocity Cache monitoring:

jconsole1.png

jconsole2.png

JGroups Monitoring

JConsole example showing the JGroups monitoring:

jgroups.png

Interesting things to do on JGroups in the JMX console:

  • Change the log level on the protocols to enable logging
  • Disconnect a node from the cluster and reconnect it

Tomcat JMX Proxy Servlet

Tomcat has a JMX Proxy Servlet bundled in their manager webapp (see here and here for more details on Tomcat and JMX]].

Here's some useful URLs to use the JMX Servlet Proxy to list and set JGroups Protocol Levels:

  • To display the current log level for the TCPPING protocol: http://localhost:8080/manager/jmxproxy?qry=jgroups:type=protocol,cluster=event,protocol=TCPPING
  • To set the log level to info for the TCPPING protocol: http://localhost:8080/manager/jmxproxy?set=jgroups:type=protocol,cluster=event,protocol=TCPPING&att=Level&val=info

Get Connected