Red Hat JBoss A-MQ

JON Performance Metrics Reference

Monitoring the broker's performance

Red Hat

Version 6.1

Legal Notice

Trademark Disclaimer

The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, MetaMatrix, Fedora, the Infinity Logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Apache, ServiceMix, Camel, CXF, and ActiveMQ are trademarks of Apache Software Foundation. Any other names contained herein may be trademarks of their respective owners.

Legal Notice

Third Party Acknowledgements

One or more products in the Red Hat JBoss A-MQ release includes third party components covered by licenses that require that the following documentation notices be provided:
  • JLine (http://jline.sourceforge.net) jline:jline:jar:1.0
    License: BSD (LICENSE.txt) - Copyright (c) 2002-2006, Marc Prud'hommeaux
    All rights reserved.
    Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
    • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
    • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
    • Neither the name of JLine nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  • Stax2 API (http://woodstox.codehaus.org/StAX2) org.codehaus.woodstox:stax2-api:jar:3.1.1
    Copyright (c) <YEAR>, <OWNER> All rights reserved.
    Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
    • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
    • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  • jibx-run - JiBX runtime (http://www.jibx.org/main-reactor/jibx-run) org.jibx:jibx-run:bundle:1.2.3
    License: BSD (http://jibx.sourceforge.net/jibx-license.html) Copyright (c) 2003-2010, Dennis M. Sosnoski.
    All rights reserved.
    Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
    • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
    • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
    • Neither the name of JiBX nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  • JavaAssist (http://www.jboss.org/javassist) org.jboss.javassist:com.springsource.javassist:jar:3.9.0.GA:compile
  • HAPI-OSGI-Base Module (http://hl7api.sourceforge.net/hapi-osgi-base/) ca.uhn.hapi:hapi-osgi-base:bundle:1.2
    License: Mozilla Public License 1.1 (http://www.mozilla.org/MPL/MPL-1.1.txt)
01 Dec 2014

Abstract

Red Hat JBoss A-MQ provides a number of metrics that can be used to monitor a broker's performance.

Chapter 1. Monitoring Fuse Resources

Abstract

Using Red Hat JBoss Operations Network (JON), you can discover, import, and monitor Red Hat JBoss Fuse resources, including Red Hat JBoss A-MQ.

Important

The JBoss ON Plugin Pack for Fuse is not installed with the JON base distribution. You must download and install it separately after you have installed the JON base distribution.
To install the JBoss ON Plugin Pack for JBoss Fuse:
  1. Select JBoss ON for Fuse under Management in the sidebar menu.
  2. Click Download next to JBoss ON 3.1.2 Plugin Pack for JBoss Fuse 6.1.0 .
  3. Unzip the plugin package (JBoss-Fuse-6.1.0/jon-plugin-pack-fuse-3.1.2.GA.zip) in the /installDir/server/ directory.
  4. Install the jar files in one of two ways:

Chapter 2. JBoss ON Managed Fuse Resources

Overview

Metrics are collected for managed resources that are deployed in Red Hat JBoss Fuse.
  • Apache ActiveMQ managed resources
  • Apache Camel managed resources
  • Apache CXF managed resources
  • Apache ServiceMix 3.x managed resources
  • Apache ServiceMix 4.x managed resources
  • JBoss Fuse managed resources
  • Fuse Fabric managed resources

Note

This guide descibes the metrics collected on Apache ActiveMQ-managed resources only. The Performance Metrics Reference for Red Hat JBoss Fuse describes the metrics collected on the other JBoss ON managed resources.

Important

Newly added resources, such as ActiveMQ queues and topics, will not appear in JON's list of resources until the JON agent discovers and adds them into inventory. By default, the agent scans for services at twenty-four hour intervals, but you can easily change the default interval either through the JON console or by resetting it in the agent's configuration file. For details, see Setting Discovery Scan Intervals in the Configuring JBoss ON Servers and Agents guide at https://access.redhat.com/site/documentation/.
Based on a managed resource's metrics, you can invoke Control Operations on the resource to avoid or correct throughput and performance problems.

Availability Status

For all JBoss Fuse managed resources, this metric is of category Availability and of measurement type Dynamic. It indicates the availability status of a resource during a given time slice.

Table 2.1. Availability Indicators

Icon State Description
Green check mark
Available (Up) Resource is running and responding to availability checks.
Red ball with white exclamation point inside
Down Resource is not responding to availability checks.
Gray ball with white question mark inside
Unknown
The agent has no record of the resource's state.
This could be due to the resource having been newly added to inventory, so has not yet been checked for availability. Or it could be that the agent is down.
Red circle with green dot inside and a red slash cutting diagonally through the circle's diameter
Disabled
The resource has been administratively marked as unavailable.
In reality, the resource could be running or stopped. When a resource is disabled, the server ignores availability reports from the agent to prevent unnecessary alerts triggered by known down (or cycling) states.
Yellow triangle with black exclamation point inside
Mixed (resource groups only) Members in a resource group have different availability states.

Per Minute metrics

Because metrics of type Trends Up and category Throughput continuously increase, the rate of change becomes more important to track than the total number of exchanges. So JBoss ON automatically calculates and creates a secondary Per Minute metric for many of these type of exchanges. By default, the Per Minute metrics, rather than their counterparts, are enabled and charted.

Referencing properties in Dynamic Group Definition expressions

To reference configuration properties and traits in Dynamic Group Definition expressions, you must use the item's internal name.

Chapter 3. ActiveMQ Server

Overview

Description: ActiveMQ Server Process
Singleton: no
Plugin: ActiveMQ

Parent Resource Types

  • Managed Platforms

Child Resource Types

  • ActiveMQ Server JVM Server

Autodiscovery Process Scans

Table 3.1. Metrics

Name Query
${processScan.name}
process|basename|match=^java.*,arg|
-Dactivemq.home|match=.*

Connection Properties

Table 3.2. Connection Properties

Name Required Description Internal Name
Log Event Sources yes The list of log files that can be tracked logEventSources
ActiveMQ Home yes The home directory of the Server activemq.home
Server Resource Key yes Java system property that uniquely identifies this Server resourceKey
Version File Pattern yes File name with Server version versionFile
Home Directory yes System property for home directory homeProperty
Log File yes Name of the log file to track logFile
Connector Address no JMX Service URL connectorAddress
Principal no JMX login principal/username principal
Credentials no JMX login credentials/password credentials

Note

You must use the internal name to reference Configuration Properties in Dynamic Group Definition expressions.

Metrics

none

Configuration Properties

none

Operations

none

Package Types

none

Chapter 4. Broker Service

Overview

Description: ActiveMQ Broker
Singleton: no
Plugin: ActiveMQ

Parent Resource Types

  • ActiveMQ Server Platform
  • JMX Server Platform
  • Servicemix 3 Server Platform
  • Servicemix 4 Server Platform
  • Fabric Container Platform
  • JBoss Fuse Container Platform
  • JBossAS Server Platform

Connection Properties

Table 4.1. Connection Properties

Name Required Description Internal Name
Broker Version no The version of the broker BrokerVersion
Object Name yes objectName
Object Name 1 yes objectName1
Name Template yes nameTemplate
Description Template yes descriptionTemplate
Broker Name yes The name of the broker brokerName

Note

You must use the internal name to reference Configuration Properties in Dynamic Group Definition expressions.

Metrics

Table 4.2. Metrics

Name Type Description Internal Name
Total Consumer Count measurement Number of message consumers subscribed to destinations on the broker. TotalConsumerCount
Total Enqueue Count measurement Number of messages that have been sent to the broker. TotalEnqueueCount
Total Enqueue Count per Minute measurement Number of messages per minute that have been sent to the broker. TotalEnqueueCount
Total Dequeue Count measurement Number of messages that have been acknowledged on the broker. TotalDequeueCount
Total Dequeue Count per Minute measurement Number of messages per minute that have been acknowledged on the broker. TotalDequeueCount
Total Message Count measurement Number of unacknowledged messages on the broker. TotalMessageCount
Total Message Count per Minute measurement Number of unacknowledged messages on the broker per minute. TotalMessageCount
Memory Percent Usage measurement Percent of memory limit used. MemoryPercentUsage
Memory Limit measurement Memory limit, in bytes, used for holding undelivered messages before paging to temporary storage. MemoryLimit

Note

You must use the internal name to reference Traits in Dynamic Group Definition expressions.

Configuration Properties

none

Operations

Table 4.3. Operations

Name Description
Start Starts the Broker
Stop Stops the Broker and all its components
Gc Flushes Broker caches so that the garbage collector can reclaim more memory
Add Connector Adds a Connector to the broker.
Remove Connector Removes a Connector from the broker.
Reset Statistics Reset all broker statistics.
Enable Statistics Enable broker statistics.
Disable Statistics Disable broker statistics.
Add Network Connector Adds a Network Connector to the broker.
Remove Network Connector Removes a Network Connector from the broker.
Stop Gracefully Polls queues matching queueName for empty state before stopping
Terminate JVM Shuts down the JVM.
Add Topic Adds a Topic destination to the broker.
Add Queue Adds a Queue destination to the broker.
Remove Topic Removes a Topic destination from the Broker
Remove Queue Removes a Queue destination from the Broker
Reload Log 4j Properties Reloads log4j.properties from the classpath.
Get Transport Connector By Type The url of transport connector by it's type; e.g. tcp, stomp, ssl, etc.

Package Types

none

Chapter 5. Client Connector Service

Overview

Description: ActiveMQ Connector
Singleton: no
Plugin: ActiveMQ

Parent Resource Types

Child Resource Types

none

Connection Properties

Table 5.1. Connection Properties

Name Required Description Internal Name
Object Name yes objectName
Name Template yes nameTemplate
Description Template yes descriptionTemplate
Connector Name yes The name of the connector connectorName

Note

You must use the internal name to reference Configuration Properties in Dynamic Group Definition expressions.

Metrics

none

Configuration Properties

none

Operations

Table 5.2. Operations

Name Description
Connection Count Returns the connection count
Reset Statistics Resets the statistics
Enable Statistics Enables statistics gathering
Disable Statistics Disables statistics gathering
Start Starts the Connector
Stop Stops the Connector

Package Types

none

Chapter 6. Connector Service

Overview

Description: ActiveMQ Connector
Singleton: no
Plugin: ActiveMQ

Parent Resource Types

Child Resource Types

none

Connection Properties

Table 6.1. Connection Properties

Name Required Description Internal Name
Object Name yes objectName
Name Template yes nameTemplate
Description Template yes descriptionTemplate
Connector Name yes The name of the connector connectorName

Note

You must use the internal name to reference Configuration Properties in Dynamic Group Definition expressions.

Metrics

none

Configuration Properties

none

Operations

Table 6.2. Operations

Name Description
Connection Count Returns the connection count
Reset Statistics Resets the statistics
Enable Statistics Enables statistics gathering
Disable Statistics Disables statistics gathering
Start Starts the Connector
Stop Stops the Connector

Package Types

none

Chapter 7. Network Connector Service

Overview

Description: ActiveMQ Connector
Singleton: no
Plugin: ActiveMQ

Parent Resource Types

Child Resource Types

none

Connection Properties

Table 7.1. Connection Properties

Name Required Description Internal Name
Object Name yes objectName
Object Name 1 yes objectName1
Name Template yes nameTemplate
Description Template yes descriptionTemplate
Connector Name yes The name of the connector connectorName

Note

You must use the internal name to reference Configuration Properties in Dynamic Group Definition expressions.

Metrics

none

Configuration Properties

none

Operations

Table 7.2. Operations

Name Description
Start Starts the Connector
Stop Stops the Connector

Package Types

none

Chapter 8. Queue Service

Overview

Description: ActiveMQ Queue
Singleton: no
Plugin: ActiveMQ

Parent Resource Types

Child Resource Types

none

Connection Properties

Table 8.1. Connection Properties

Name Required Description Internal Name
Object Name yes objectName
Object Name 1 yes objectName1
Name Template yes nameTemplate
Description Template yes descriptionTemplate
Destination yes destination

Note

You must use the internal name to reference Configuration Properties in Dynamic Group Definition expressions.

Metrics

Table 8.2. Metrics

Name Type Description Internal Name
Enqueue Count measurement Number of messages that have been sent to the destination EnqueueCount
Enqueue Count per Minute measurement Number of messages per minute that have been sent to the destination EnqueueCount
Dequeue Count measurement Number of messages that have been acknowledged (and removed) from the destination. DequeueCount
Dequeue Count per Minute measurement Number of messages per minute that have been acknowledged (and removed) from the destination. DequeueCount
Consumer Count measurement Number of consumers subscribed to this destination ConsumerCount
Queue Size measurement Number of messages in the destination yet to be consumed. Potentially dispatched but unacknowledged. QueueSize
Memory Percent Usage measurement The percentage of the memory limit used MemoryPercentUsage

Note

You must use the internal name to reference Traits in Dynamic Group Definition expressions.

Configuration Properties

none

Operations

Table 8.3. Operations

Name Description
Purge Removes all of the messages in the queue
Remove Message Remove a message from the destination by JMS message ID. If the message has been dispatched, it cannot be deleted and false is returned.
Remove Matching Messages Removes up to a specified number of messages from the destination based on an SQL-92 selection on the message headers or XPATH on the body.
Copy Message To Copies a message with the given JMS message ID into the specified destination.
Copy Matching Messages To Copies up to a specified number of messages based on an SQL-92 selecton on the message headers or XPATH on the body into the specified destination.
Move Message To Moves a message with the given JMS message ID into the specified destination.
Move Matching Messages To Moves up to a specified number of messages based on an SQL-92 selecton on the message headers or XPATH on the body into the specified destination.
Retry Message Moves a message with the given JMS message back to its original destination
Does Cursor Have Space Message cursor has memory space available
Does Cursor Have Messages Buffered Message cursor has buffered messages to deliver
Cursor Size Number of messages available to be paged in by the cursor.
Reset Statistics Resets statistics
Send Text Message Sends a text message to this destination
Browse Browse messages sent to this destination

Package Types

none

Chapter 9. Topic Service

Overview

Description: ActiveMQ Topic
Singleton: no
Plugin: ActiveMQ

Parent Resource Types

Child Resource Types

none

Connection Properties

Table 9.1. Connection Properties

Name Required Description Internal Name
Object Name yes objectName
Object Name 1 yes objectName1
Name Template yes nameTemplate
Description Template yes descriptionTemplate
Destination yes destination

Note

You must use the internal name to reference Configuration Properties in Dynamic Group Definition expressions.

Metrics

Table 9.2. Metrics

Name Type Description Internal Name
Enqueue Count measurement Number of messages that have been sent to the destination EnqueueCount
Enqueue Count per Minute measurement Number of messages per minute that have been sent to the destination EnqueueCount
Dequeue Count measurement Number of messages that have been acknowledged (and removed) from the destination. DequeueCount
Dequeue Count per Minute measurement Number of messages per minute that have been acknowledged (and removed) from the destination. DequeueCount
Consumer Count measurement Number of consumers subscribed to this destination ConsumerCount
Queue Size measurement Number of messages in the destination yet to be consumed. Potentially dispatched but unacknowledged. QueueSize
Memory Percent Usage measurement The percentage of the memory limit used MemoryPercentUsage

Note

You must use the internal name to reference Traits in Dynamic Group Definition expressions.

Configuration Properties

none

Operations

Table 9.3. Operations

Name Description
Reset Statistics Resets statistics
Send Text Message Sends a text message to this destination
Browse Browse messages to this destination

Package Types

none