JMX MBean Query for JVMs

Topics marked with * relate to features available only in vFabric Hyperic.

This page describes the JMX MBean Query page in the VMware vFabric™ Hyperic® user interface.

Using JMX MBean Query

The JMX MBean Query tool allows you to search for MBeans, display their attributes, and invoke selected MBean operations on them.

When HQ alerts you of availability or health issues with a JVM resource or service, you can use the JMX MBean Query tool to troubleshoot and resolve the problem.

The MBean attributes displayed in the JMX MBean Query tool are read-only; the console does not support attribute editing. In this version of HQ, support for MBean operations is limited to operations with one or no arguments of primitive or simple type.

The JMX MBean Query tool is available on the Views tab when you have a JVM selected in the HQ portal. These instructions assume that your JVM is in HQ inventory.

Note that JVMs are not auto-discovered by HQ. You must add a JVM to HQ inventory and configure for monitoring as described in Sun JVM.

Entering Query Options

To access specific MBean attributes and operations, you enter search patterns in the these text boxes in the JMX MBean Query tool page:

  • Operation Regex Filter - To restrict the MBean operations returned, enter a valid Java regular expression.

Click the Query MBeans button to execute the search. 

For MBeans whose object name matches the Object Name Pattern, attributes and operations that match your filter criteria will be listed.  For example:

images/download/attachments/79037023/jmx_console.gif

Enabling Automatic Refresh

If you wish the console to periodically refresh the attribute values, select an interval from the Refresh Interval pulldown. 

Defining Saved Mbean Searches

If you expect to perform the same search frequently, you can create an XML file that specifies the search criteria. You name the file according to a predefined convention, and store it in a specific directory in your HQ Server installation. Each saved search will appear in the MBean Query page's Preset Searches  menu.

When you run a saved search, the values you defined for the search Object Name Pattern, Attribute Regex Filter, and Operation Regex Filter appear in the text boxes at the top of the view.

Create a saved search in accordance with the schema described below in [Schema for JMX Search Criteria}, and save it with a name like this:

Name the file that contains a saved search like this:

SearchID-filter.xml

where SearchID is a meaningful name for the search to which you append "-filter.xml" identifies the search

The filters values defined in this file will then appear in the Preset Searches drop-down menu and will be named according to the filter ID. Save the file in:

ServerHome/hq-engine/hq-server/webapps/ROOT/hqu/jmx/conf

The following topics defines the XML schema for saved MBean searches.

Schema for JMX Search Criteria

A saved MBean search criteria consists of:

  • A top-level filters element, containing at least one filter sub-element. Each filter sub-element consists of:

    • An id attribute containing an identifier for the search. This string will appear in the Preset Searches drop-down menu. Each search you define and save on an HQ server must have a unique d attribute.

    • An objectName sub-element, whose value is the object name pattern used for the MBean query. 

    • An attributeRegex sublement, whose value is the Java regular expression used to filter the attributes returned from the MBean query. 

    • An operationRegex sublement, whose value is the Java regular expression used to filter the operations returned from the MBean query.

For example:

<?xml version="1.0" encoding="UTF-8"?>

<filters>

  <filter id="JVM Memory MBean">
    <objectName>java.lang:type=Memory</objectName>
    <attributeRegex>.*Usage</attributeRegex>
    <operationRegex>.*</operationRegex>
  </filter>

  <filter id="JVM Platform MBeans">
    <objectName>java.lang:*</objectName>
    <attributeRegex>.*</attributeRegex>
    <operationRegex>.*</operationRegex>
  </filter>

</filters>