Monitoring TES Java Application Performance

JConsole is recommended for capturing/monitoring any performance related issue. JConsole, a GUI-based software, does not provided a way to capture performance data in a non-interactive way. To capture JMX MBean Attribute values as displayed below, for the purposes of generating alarms when the software exceeds thresholds, use the following command-line alternatives to the JConsole.

  • Jmxterm (http://wiki.cyclopsgroup.org/jmxterm)
  • cmdline-jmxclient (http://crawler.archive.org/cmdline-jmxclient)

jmxterm retrieves MBean Attribute values in an interactive shell, whereas cmdline-jmxclient retrieves it non-iteractiavely. The syntax of cmdline-jmxclient is as follows:

Z:\>java -jar cmdline-jmxclient-0.10.3.jar
Usage: java -jar cmdline-jmxclient.jar USER:PASS HOST:PORT [BEAN] [COMMAND]
Options:
USER:PASS Username and password. Required. If none, pass '-'.
E.g. 'controlRole:secret'
HOST:PORT Hostname and port to connect to. Required. E.g. localhost:8081.

List registered beans if only USER:PASS and this argument.

BEANNAME Optional target bean name. If present we list available operations and attributes.

COMMAND Optional operation to run or attribute to fetch. If none supplied, all operations and attributes are listed. Attributes begin with a capital letter: e.g. 'Status' or 'Started'. Operations do not. Operations can take arguments by adding an '=' followed by comma-delimited params. Pass multiple attributes/operations to run more than one per invocation.