Chapter 1. Introduction

Abstract

Once a messaging solution is deployed it needs to be monitored to ensure it performs at peak performance. When problems do arise, many of them can be solved using the broker's administrative tools. The broker's administrative tools can also be used to provide important debugging information when troubleshooting problems.

Overview

Message brokers are long lived and usually form the backbone of the applications of which they are a part. Over the course of a broker's life span, there are a number of management tasks that you may need to do to keep the broker running at peak performance. This includes monitoring the health of the broker, adding destinations, and security certificates.
If applications run into trouble one of the first places to look for clues is the broker. The broker is unlikely to be the root cause of the problem, but its logs and metrics will provide clues as to what is the root cause. You may also be able to resolve the problem using the broker's administrative interface.

Routine tasks

While Red Hat JBoss A-MQ is designed to require a light touch for management, there are a few routine management tasks that need to be performed:
  • installing SSL certificates
  • starting the broker
  • creating destinations
  • stopping the broker
  • maintaining the advisory topics
  • monitoring the health of the broker
  • monitoring the health of the destinations

Troubleshooting

If an application runs into issues the broker will usually be able to provide clues to what is going wrong. Because the broker is central to the operation of any application that relies on messaging, it will be able to provide clues even if the broker is functioning properly. You may also be able to solve the problem by making adjustments to the broker's configuration.
Common things to check for clues as to the nature of a problem include:
  • the broker's log file
  • the advisory topics
  • the broker's overall memory footprint
  • the size of individual destination
  • the total number of messages in the broker
  • the size of the broker's persistent store
  • a thread dump of the broker
One or more of these items can provide information about the problem. For example, if a destination grows to a very large size it could indicate that one of its consumers is having trouble keeping up with the messages. If the broker's log also shows that the consumer is repeatedly connecting and disconnecting from the destination, that could indicate a networking problem or a problem with the machine hosting the consumer.

Tools

There are a number of tools that you can use to monitor and administer Red Hat JBoss A-MQ.
The following tools are included with JBoss A-MQ:
  • administration client—a command line tool that can be used to manage a broker and do rudimentary metric reporting
  • console mode—a runtime mode that presents you with a custom console that provides a number of administrative options
Red Hat also provides management tools that you can install as part of your subscription:
  • management console—a browser based console for viewing, monitoring, and deploying a group of distributed brokers
  • JBoss Operations Network—an advanced monitoring and management tool that can provide detailed metrics and alerting.
In addition to the Red Hat supplied tools there are a number of third party tools that can be used to administer and monitor a broker including:
  • jconsole—a JMX tool that is shipped with the JDK
  • VisualVM—a visual tool integrating several command line JDK tools and lightweight profiling capabilities