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)
15 May 2015

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

IconStateDescription
Green check mark
Available (Up)Resource is running and responding to availability checks.
Red ball with white exclamation point inside
DownResource 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

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

Connection Properties

Table 3.2. Connection Properties

NameRequiredDescriptionInternal Name
Log Event SourcesyesThe list of log files that can be trackedlogEventSources
ActiveMQ HomeyesThe home directory of the Serveractivemq.home
Server Resource KeyyesJava system property that uniquely identifies this ServerresourceKey
Version File PatternyesFile name with Server versionversionFile
Home DirectoryyesSystem property for home directoryhomeProperty
Log FileyesName of the log file to tracklogFile
Connector AddressnoJMX Service URLconnectorAddress
PrincipalnoJMX login principal/usernameprincipal
CredentialsnoJMX login credentials/passwordcredentials
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

Child Resource Types

Connection Properties

Table 4.1. Connection Properties

NameRequiredDescriptionInternal Name
Broker VersionnoThe version of the brokerBrokerVersion
Object Nameyes objectName
Object Name 1yes objectName1
Name Templateyes nameTemplate
Description Templateyes descriptionTemplate
Broker NameyesThe name of the brokerbrokerName
Note
You must use the internal name to reference Configuration Properties in Dynamic Group Definition expressions.

Metrics

Table 4.2. Metrics

NameTypeDescriptionInternal Name
Total Consumer CountmeasurementNumber of message consumers subscribed to destinations on the broker.TotalConsumerCount
Total Enqueue CountmeasurementNumber of messages that have been sent to the broker.TotalEnqueueCount
Total Enqueue Count per MinutemeasurementNumber of messages per minute that have been sent to the broker.TotalEnqueueCount
Total Dequeue CountmeasurementNumber of messages that have been acknowledged on the broker.TotalDequeueCount
Total Dequeue Count per MinutemeasurementNumber of messages per minute that have been acknowledged on the broker.TotalDequeueCount
Total Message CountmeasurementNumber of unacknowledged messages on the broker.TotalMessageCount
Total Message Count per MinutemeasurementNumber of unacknowledged messages on the broker per minute.TotalMessageCount
Memory Percent UsagemeasurementPercent of memory limit used.MemoryPercentUsage
Memory LimitmeasurementMemory 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

NameDescription
StartStarts the Broker
StopStops the Broker and all its components
GcFlushes Broker caches so that the garbage collector can reclaim more memory
Add ConnectorAdds a Connector to the broker.
Remove ConnectorRemoves a Connector from the broker.
Reset StatisticsReset all broker statistics.
Enable StatisticsEnable broker statistics.
Disable StatisticsDisable broker statistics.
Add Network ConnectorAdds a Network Connector to the broker.
Remove Network ConnectorRemoves a Network Connector from the broker.
Stop GracefullyPolls queues matching queueName for empty state before stopping
Terminate JVMShuts down the JVM.
Add TopicAdds a Topic destination to the broker.
Add QueueAdds a Queue destination to the broker.
Remove TopicRemoves a Topic destination from the Broker
Remove QueueRemoves a Queue destination from the Broker
Reload Log 4j PropertiesReloads log4j.properties from the classpath.
Get Transport Connector By TypeThe 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

NameRequiredDescriptionInternal Name
Object Nameyes objectName
Name Templateyes nameTemplate
Description Templateyes descriptionTemplate
Connector NameyesThe name of the connectorconnectorName
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

NameDescription
Connection CountReturns the connection count
Reset StatisticsResets the statistics
Enable StatisticsEnables statistics gathering
Disable StatisticsDisables statistics gathering
StartStarts the Connector
StopStops 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

NameRequiredDescriptionInternal Name
Object Nameyes objectName
Name Templateyes nameTemplate
Description Templateyes descriptionTemplate
Connector NameyesThe name of the connectorconnectorName
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

NameDescription
Connection CountReturns the connection count
Reset StatisticsResets the statistics
Enable StatisticsEnables statistics gathering
Disable StatisticsDisables statistics gathering
StartStarts the Connector
StopStops 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

NameRequiredDescriptionInternal Name
Object Name yes  objectName
Object Name 1 yes  objectName1
Name Template yes  nameTemplate
Description Template yes  descriptionTemplate
Connector NameyesThe name of the connectorconnectorName
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

NameDescription
StartStarts the Connector
StopStops 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

NameRequiredDescriptionInternal 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

NameTypeDescriptionInternal Name
Enqueue CountmeasurementNumber of messages that have been sent to the destinationEnqueueCount
Enqueue Count per MinutemeasurementNumber of messages per minute that have been sent to the destinationEnqueueCount
Dequeue CountmeasurementNumber of messages that have been acknowledged (and removed) from the destination.DequeueCount
Dequeue Count per MinutemeasurementNumber of messages per minute that have been acknowledged (and removed) from the destination.DequeueCount
Consumer CountmeasurementNumber of consumers subscribed to this destinationConsumerCount
Queue SizemeasurementNumber of messages in the destination yet to be consumed. Potentially dispatched but unacknowledged.QueueSize
Memory Percent UsagemeasurementThe percentage of the memory limit usedMemoryPercentUsage
Note
You must use the internal name to reference Traits in Dynamic Group Definition expressions.

Configuration Properties

none

Operations

Table 8.3. Operations

NameDescription
PurgeRemoves all of the messages in the queue
Remove MessageRemove 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 MessagesRemoves 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 ToCopies a message with the given JMS message ID into the specified destination.
Copy Matching Messages ToCopies 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 ToMoves a message with the given JMS message ID into the specified destination.
Move Matching Messages ToMoves 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 MessageMoves a message with the given JMS message back to its original destination
Does Cursor Have SpaceMessage cursor has memory space available
Does Cursor Have Messages BufferedMessage cursor has buffered messages to deliver
Cursor SizeNumber of messages available to be paged in by the cursor.
Reset StatisticsResets statistics
Send Text MessageSends a text message to this destination
BrowseBrowse 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

NameRequiredDescriptionInternal 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

NameTypeDescriptionInternal Name
Enqueue CountmeasurementNumber of messages that have been sent to the destinationEnqueueCount
Enqueue Count per MinutemeasurementNumber of messages per minute that have been sent to the destinationEnqueueCount
Dequeue CountmeasurementNumber of messages that have been acknowledged (and removed) from the destination.DequeueCount
Dequeue Count per MinutemeasurementNumber of messages per minute that have been acknowledged (and removed) from the destination.DequeueCount
Consumer CountmeasurementNumber of consumers subscribed to this destinationConsumerCount
Queue SizemeasurementNumber of messages in the destination yet to be consumed. Potentially dispatched but unacknowledged.QueueSize
Memory Percent UsagemeasurementThe percentage of the memory limit usedMemoryPercentUsage
Note
You must use the internal name to reference Traits in Dynamic Group Definition expressions.

Configuration Properties

none

Operations

Table 9.3. Operations

NameDescription
Reset StatisticsResets statistics
Send Text MessageSends a text message to this destination
BrowseBrowse messages to this destination

Package Types

none