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.
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.
While Fuse Message Broker 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
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.
There are a number of tools that you can use to monitor and administer Fuse Message Broker.
The following tools are included with Fuse Message Broker:
administration tool—a command line tool that can be used to manage a broker and do rudimentary metric reporting
Web console—a browser based console that provides metric reporting, destination browsing, and other administrative functions
For more advanced monitoring and management capabilities FuseSource offers Fuse HQ.
In addition to the FuseSource 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