qpid-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From conflue...@apache.org
Subject [CONF] Apache Qpid > Qpid JMX Management Console User Guide
Date Thu, 12 Nov 2009 11:32:00 GMT
    <base href="http://cwiki.apache.org/confluence">
            <link rel="stylesheet" href="/confluence/s/1519/1/1/_/styles/combined.css?spaceKey=qpid&amp;forWysiwyg=true"
<body style="background-color: white" bgcolor="white">
<div id="pageContent">
<div id="notificationFormat">
<div class="wiki-content">
<div class="email">
     <h2><a href="http://cwiki.apache.org/confluence/display/qpid/Qpid+JMX+Management+Console+User+Guide">Qpid
JMX Management Console User Guide</a></h2>
     <h4>Page <b>edited</b> by             <a href="http://cwiki.apache.org/confluence/display/~robbie">Robbie
     <div class="notificationGreySide">
         <h1><a name="QpidJMXManagementConsoleUserGuide-QpidJMXManagementConsoleUserGuide"></a>Qpid
JMX Management Console User Guide</h1>

<p><b>The guide can be found below in wiki form, or downloaded as a file: <a
<a href="/confluence/download/attachments/91960/Qpid_JMX_MC_User_Guide.pdf?version=3">(PDF)</a></b>
<br clear="all" />
<br clear="all" /></p>
<hr />
<p><br clear="all" />
<br clear="all" />
<a href="#QpidJMXManagementConsoleUserGuide-Toc238842234">Introduction </a><br/>
<a href="#QpidJMXManagementConsoleUserGuide-Toc238842235">Startup &amp; Configuration
<a href="#QpidJMXManagementConsoleUserGuide-Toc238842236">Startup </a><br/>
<a href="#QpidJMXManagementConsoleUserGuide-Toc238842237">SSL configuration </a><br/>
<a href="#QpidJMXManagementConsoleUserGuide-Toc238842238">JMXMP configuration </a><br/>
<a href="#QpidJMXManagementConsoleUserGuide-Toc238842239">Managing Server Connections
<a href="#QpidJMXManagementConsoleUserGuide-Toc238842240">Main Toolbar </a><br/>
<a href="#QpidJMXManagementConsoleUserGuide-Toc238842241">Connecting to a new server
<a href="#QpidJMXManagementConsoleUserGuide-Toc238842242">Reconnecting to a server </a><br/>
<a href="#QpidJMXManagementConsoleUserGuide-Toc238842243">Disconnecting from a server
<a href="#QpidJMXManagementConsoleUserGuide-Toc238842244">Removing a server </a><br/>
<a href="#QpidJMXManagementConsoleUserGuide-Toc238842245">Navigating a connected server
<a href="#QpidJMXManagementConsoleUserGuide-Toc238842246">ConfigurationManagement MBean
<a href="#QpidJMXManagementConsoleUserGuide-Toc238842247">LoggingManagement MBean </a><br/>
<a href="#QpidJMXManagementConsoleUserGuide-Toc238842248">Runtime Options </a><br/>
<a href="#QpidJMXManagementConsoleUserGuide-Toc238842249">ConfigurationFile Options
<a href="#QpidJMXManagementConsoleUserGuide-Toc238842250">ServerInformation MBean </a><br/>
<a href="#QpidJMXManagementConsoleUserGuide-Toc238842251">UserManagement MBean </a><br/>
<a href="#QpidJMXManagementConsoleUserGuide-Toc238842252">VirtualHostManager MBean </a><br/>
<a href="#QpidJMXManagementConsoleUserGuide-Toc238842253">Notifications </a><br/>
<a href="#QpidJMXManagementConsoleUserGuide-Toc238842254">Managing Queues </a><br/>
<a href="#QpidJMXManagementConsoleUserGuide-Toc238842255">Managing Exchanges </a><br/>
<a href="#QpidJMXManagementConsoleUserGuide-Toc238842256">Managing Connections </a></p>

<h1><a name="QpidJMXManagementConsoleUserGuide-Introduction"></a><a name="QpidJMXManagementConsoleUserGuide-Toc238842234"></a>Introduction</h1>

<p><br clear="all" />
The Qpid JMX Management Console is a standalone Eclipse RCP application for managing and monitoring
the Qpid Java server utilising its JMX management interfaces.</p>

<p>This guide will give an overview of configuring the console, the features supported
by it, and how to make use of the console in managing the various JMX Management Beans (MBeans)
offered by the Qpid Java server.
<br clear="all" /></p>

<h1><a name="QpidJMXManagementConsoleUserGuide-Startup%26Configuration"></a><a
name="QpidJMXManagementConsoleUserGuide-Toc238842235"></a> Startup &amp; Configuration</h1>

<p><br clear="all" /></p>

<h2><a name="QpidJMXManagementConsoleUserGuide-Startup"></a><a name="QpidJMXManagementConsoleUserGuide-Toc238842236"></a>Startup</h2>

<p><br clear="all" />
The console can be started in the following way, depending on platform:</p>
	<li><b>Windows:</b> by running the <em>qpidmc.exe</em> executable
	<li><b>Linux:</b> by running the <em>qpidmc</em> executable.</li>
	<li><b>Mac OS X:</b> by launching the <em>Qpid Management Console.app</em>
application bundle.</li>

<p><br clear="all" /></p>

<h2><a name="QpidJMXManagementConsoleUserGuide-SSLconfiguration"></a><a
name="QpidJMXManagementConsoleUserGuide-Toc238842237"></a>SSL configuration</h2>

<p><br clear="all" />
Newer Qpid Java servers can protect their JMX connections with SSL, and this is enabled by
default. When attempting to connect to a server with this enabled, the console must be able
to verify the SSL certificate presented to it by the server or the connection will fail.</p>

<p>If the server makes use of an SSL certificate signed by a known Signing CA (Certification
Authority) then the console needs no extra configuration, and will make use of Java's default
system-wide CA TrustStore for certificate verification (you may however have to update the
system-wide default CA TrustStore if your certified is signed by a less common CA that is
not already present in it).</p>

<p>If however the server is equipped with a self-signed SSL certificate, then the management
console must be provided with an appropriate SSL TrustStore containing the public key for
the SSL certificate, so that it is able to validate it when presented by the server. The server
ships with a script to create an example self-signed SSL certificate, and store the relevant
entries in a KeyStore and matching TrustStore. This script can serve as a guide on how to
use the Java Keytool security utility to manipulate your own stores, and more information
can be found in the JSSE Reference Guide: <a href="http://java.sun.com/javase/6/docs/technotes/guides/security/jsse/JSSERefGuide.html#CustomizingStores"

<p>Supplying the necessary details to the console is performed by setting the <em>javax.net.ssl.trustStore</em>
and <em>javax.net.ssl.trustStorePassword</em> environment variables when starting
it. This can be done at the command line, but the preferred option is to set the configuration
within the <em>qpidmc.ini</em> launcher configuration file for repeated usage.
This file is equipped with a template to ease configuration, this should be uncommented and
edited to suit your needs. It can be found in the root of the console releases for Windows,
and Linux. For Mac OS X the file is located within the consoles <em>.app</em>
application bundle, and to locate and edit it you must select <em>'Show Package Contents'</em>
when accessing the context menu of the application, then browse to the <em>Contents/MacOS</em>
sub folder to locate the file.
<br clear="all" /></p>

<h2><a name="QpidJMXManagementConsoleUserGuide-JMXMPconfiguration"></a><a
name="QpidJMXManagementConsoleUserGuide-Toc238842238"></a>JMXMP configuration</h2>

<p><br clear="all" />
Older releases of the Qpid Java server can make use of the Java Management Extensions Messaging
Protocol (JMXMP) to provide protection for their JMX connections. This occurs when the server
has its main configuration set with the management <em>'security-enabled'</em>
property set to true.</p>

<p>In order to connect to this configuration of server, the console needs an additional
library that is not included within the Java SE platform and cannot be distributed with the
console due to licensing restrictions.<a name="QpidJMXManagementConsoleUserGuide-ManagementConsoleSecurityDownloadandIns"></a></p>

<p>You can download the JMX Remote API 1.0.1_04 Reference Implementation from the Sun
website <a href="http://java.sun.com/javase/technologies/core/mntr-mgmt/javamanagement/download.jsp"
rel="nofollow">here</a>. The included <em>jmxremote-1_0_1-bin/lib/jmxremote_optional.jar</em>
file must be added to the <em>plugins/jmxremote.sasl_1.0.1</em> folder of the
console release (again, in Mac OS X you will need to select <em>'Show package contents'</em>
from the context menu whilst selecting the management console bundle in order to reveal the
inner file tree).</p>

<p>Following this the console will automatically load the JMX Remote Optional classes
and negotiate the SASL authentication profile type when encountering a JMXMP enabled Qpid
Java server.</p>

<h1><a name="QpidJMXManagementConsoleUserGuide-ManagingServerConnections"></a><a
name="QpidJMXManagementConsoleUserGuide-Toc238842239"></a> Managing Server Connections</h1>

<p><br clear="all" /></p>

<h2><a name="QpidJMXManagementConsoleUserGuide-MainToolbar"></a><a name="QpidJMXManagementConsoleUserGuide-Toc238842240"></a>Main

<p><br clear="all" />
The main toolbar of the console can be seen in the image below. The left most buttons respectively
allow for adding a new server connection, reconnecting to an existing server selected in the
connection tree, disconnecting the selected server connection, and removing the server from
the connection tree.</p>

<p><img src="/confluence/download/attachments/91960/worddavc6d755aebcb9e1f45b738eb16b4dc8c7.png"
align="absmiddle" border="0" height="77" width="389" /><br clear="all" />
<br clear="all" />
<br clear="all" />
Beside these buttons is a combo for selecting the refresh interval; that is, how often the
console requests updated information to display for the currently open area in the main view.
Finally, the right-most button enables an immediate update.</p>

<h2><a name="QpidJMXManagementConsoleUserGuide-Connectingtoanewserver"></a><a
name="QpidJMXManagementConsoleUserGuide-Toc238842241"></a>Connecting to a new server</h2>

<p><br clear="all" />
To connect to a new server, press the <em>Add New Server</em> toolbar button,
or select the <em>Qpid Manager &#45;&gt; Add New Connection</em> menu
item. At this point a dialog box will be displayed requesting the server details, namely the
server hostname, management port, and a username and password. An example is shown below:</p>

<p><img src="/confluence/download/attachments/91960/worddava2d2c136d0f8ddeae3c22e2a296fc1a6.png"
align="absmiddle" border="0" height="222" width="355" /></p>

<p><br clear="all" />
Once all the required details are entered, pressing Connect will initiate a connection attempt
to the server. It the attempt fails a reason will be shown and the server will not be added
to the connection tree. If the attempt is successful the server will be added to the connections
list and the entry expanded to show the initial administration MBeans the user has access
to and any VirtualHosts present on the server, as can be seen in the figure below.</p>

<p><img src="/confluence/download/attachments/91960/worddav71806f5b2c0541be520e6e4a86ccfee1.png"
align="absmiddle" border="0" height="249" width="601" /></p>

<p><br clear="all" />
If the server supports a newer management API than the console in use, once connected this
initial screen will contain a message on the right, indicating an upgraded console should
be sought by the user to ensure all management functionality supported by the server is being

<h2><a name="QpidJMXManagementConsoleUserGuide-Reconnectingtoaserver"></a><a
name="QpidJMXManagementConsoleUserGuide-Toc238842242"></a>Reconnecting to a server</h2>

<p><br clear="all" />
If a server has been connected to previously, it will be saved as an entry in the connection
tree for further use. On subsequent connections the server can simply be selected from the
tree and using the <em>Reconnect</em> toolbar button or <em>Qpid Manager
&#45;&gt; Reconnect</em> menu item. At this stage the console will prompt simply
for the username and password with which the user wishes to connect, and following a successful
connection the screen will appear as shown previously above.</p>

<h2><a name="QpidJMXManagementConsoleUserGuide-Disconnectingfromaserver"></a><a
name="QpidJMXManagementConsoleUserGuide-Toc238842243"></a>Disconnecting from a server</h2>

<p><br clear="all" />
To disconnect from a server, select the connection tree node for the server and press the
<em>Disconnect</em> toolbar button, or use the <em>Qpid Manager &#45;&gt;
Disconnect</em> menu option.</p>

<h2><a name="QpidJMXManagementConsoleUserGuide-Removingaserver"></a><a
name="QpidJMXManagementConsoleUserGuide-Toc238842244"></a>Removing a server</h2>

<p><br clear="all" />
To remove a server from the connection list, select the connection tree node for the server
and press the <em>Remove</em> toolbar button, or use the <em>Qpid Manager
&#45;&gt; Remove Connection</em> menu option.</p>

<h1><a name="QpidJMXManagementConsoleUserGuide-Navigatingaconnectedserver"></a><a
name="QpidJMXManagementConsoleUserGuide-Toc238842245"></a> Navigating a connected

<p><br clear="all" />
Once connected to a server, the various areas available for administration are accessed using
the Qpid Connections tree at the left side of the application. To open a particular MBean
from the tree for viewing, simply select it in the tree and it will be opened in the main
<img src="/confluence/download/attachments/91960/worddav296ccf985676c266123c34a4184d8b3c.png"
align="absmiddle" border="0" height="326" width="475" /></p>

<p>As there may be vast numbers of Queues, Connections, and Exchanges on the server
these MBeans are not automatically added to the tree along with the general administration
MBeans. Instead, dedicated selection areas are provided to allow users to select which Queue/Connection/Exchange
they wish to view or add to the tree. These areas can be found by clicking on the Connections,
Exchanges, and Queues nodes in the tree under each VirtualHost, as shown in the figure above.
One or more MBeans may be selected and added to the tree as Favourites using the button provided.
These settings are saved for future use, and each time the console connects to the server
it will check for the presence of the MBean previously in the tree and add them if they are
still present. Queue/Connection/Exchange MBeans can be removed from the tree by right clicking
on them to expose a context menu allowing deletion.</p>

<p><img src="/confluence/download/attachments/91960/worddav9009967a264a9a07fe88d165de72372d.png"
align="absmiddle" border="0" height="116" width="132" /></p>

<p>As an alternative way to open a particular MBean for viewing, without first adding
it to the tree, you can simply double click an entry in the table within the Queue/Connection/Exchange
selection areas to open it immediately. It is also possible to open some MBeans like this
whilst viewing certain other MBeans. When opening an MBean in either of these ways, a Back
button is enabled in the top right corner of the main view. Using this button will return
you to the selection area or MBean you were previously viewing. The history resets each time
the tree is used to open a new area or MBean.
<br clear="all" /></p>

<h1><a name="QpidJMXManagementConsoleUserGuide-ConfigurationManagementMBean"></a><a
name="QpidJMXManagementConsoleUserGuide-Toc238842246"></a> ConfigurationManagement

<p><br clear="all" />
The ConfigurationManagement MBean is available on newer servers, to users with admin level
management rights.  It offers the ability to perform a live reload of the <em>Security</em>
sections defined in the main server configuration file (e.g. defaults to: <em>etc/config.xml</em>).
This is mainly to allow updating the server Firewall configuration to new settings without
a restart, and can be performed by clicking the Execute button and confirming the prompt which

<p><img src="/confluence/download/attachments/91960/worddava7ca6e7d65f072bd42f5821e5932807c.png"
align="absmiddle" border="0" height="291" width="661" /></p>

<h1><a name="QpidJMXManagementConsoleUserGuide-LoggingManagementMBean"></a><a
name="QpidJMXManagementConsoleUserGuide-Toc238842247"></a> LoggingManagement MBean</h1>

<p><br clear="all" />
The LoggingManagement MBean is available on newer servers, and accessible by admin level users.
It allows live alteration of the logging behaviour, both at a Runtime-only level and at the
configuration file level. The latter can optionally affect the Runtime configuration, either
through use of the servers automated LogWatch ability which detects changes to the configuration
file and reloads it, or by manually requesting a reload. This functionality is split across
two management tabs, Runtime Options and ConfigurationFile Options.</p>

<h2><a name="QpidJMXManagementConsoleUserGuide-RuntimeOptions"></a><a
name="QpidJMXManagementConsoleUserGuide-Toc238842248"></a>Runtime Options</h2>

<p><br clear="all" />  <img src="/confluence/download/attachments/91960/worddavad88973e94a00b807c6171ac468fe594.png"
align="absmiddle" border="0" height="405" width="639" /></p>

<p>The Runtime Options tab allows manipulation of the logging settings without affecting
the configuration files (this means the changes will be lost when the server restarts), and
gives individual access to every Logger active within the server.</p>

<p>As shown in the figure above, the table in this tab presents the Effective Level
of each Logger. This is because the Loggers form a hierarchy in which those without an explicitly
defined (in the logging configuration file) Level will inherit the Level of their immediate
parent; that is, the Logger whose full name is a prefix of their own, or if none satisfy that
condition then the RootLogger is their parent. As example, take the <em>org.apache.qpid</em>
Logger. It is parent to all those below it which begin with <em>org.apache.qpid</em>
and unless they have a specific Level of their own, they will inherit its Level. This can
be seen in the figure, whereby all the children Loggers visible have a level of WARN just
like their parent, but the RootLogger Level is INFO; the children have inherited the WARN
level from <em>org.apache.qpid</em> rather than INFO from the RootLogger.</p>

<p>To aid with this distinction, the Logger Levels that are currently defined in the
configuration file are highlighted in the List. Changing these levels at runtime will also
change the Level of all their children which haven't been set their own Level using the runtime
options. In the latest versions of the LoggingManagement MBean, it is possible to restore
a child logger that has had an explicit level se, to inheriting that of its parent by setting
it to an INHERITED level that removes any previously set Level of its own.</p>

<p><img src="/confluence/download/attachments/91960/worddavfbe3027512a6632e0bdbbb1c5a6bcb73.png"
align="absmiddle" border="0" height="223" width="493" /></p>

<p>In order to set one of more Loggers to a new Level, they should be selected in the
table (or double click an individual Logger to modify it) and the <em>Edit Selected
Logger(s)</em> button pressed to load the dialog shown above. At this point, any of
the available Levels supported by the server can be applied to the Loggers selected and they
will immediately update, as will any child Loggers without their own specific Level.</p>

<p>The RootLogger can be similarly edited using the button at the bottom left of the
<br clear="all" />
<br clear="all" /></p>

<h2><a name="QpidJMXManagementConsoleUserGuide-ConfigurationFileOptions"></a><a
name="QpidJMXManagementConsoleUserGuide-Toc238842249"></a>ConfigurationFile Options</h2>

<p><br clear="all" />
The ConfigurationFile Options tab allows alteration of the Level settings for the Loggers
defined in the configuration file, allowing changes to persist following a restart of the
server. Changes made to the configuration file are only applied automatically while the sever
is running if it was configured to enable the LogWatch capability, meaning it will monitor
the configuration file for changes and apply the new configuration when the change is detected.
If this was not enabled, the changes will be picked up when the server is restarted. The status
of the LogWatch feature is shown at the bottom of the tab. Alternatively, in the latest versions
of the LoggingManagement MBean it is possible to reload the logging configuration file on

<p>Manipulating the Levels is as on the Runtime Options tab, either double-click an
individual Logger entry or select multiple Loggers and use the button to load the dialog to
set the new Level.</p>

<p><img src="/confluence/download/attachments/91960/worddav25e43482f6a58df2c96bbdb7486b0773.png"
align="absmiddle" border="0" height="319" width="644" /></p>

<p>One issue to note of when reloading the configuration file settings, either automatically
using LogWatch or manually, is that any Logger set to a specific Level using the Runtime Options
tab that is not defined in the configuration file will maintain that Level when the configuration
file is reloaded. In other words, if a Logger is defined in the configuration file, then the
configuration file will take precedence at reload, otherwise the Runtime options take precedence.</p>

<p>This situation will be immediately obvious by examining the Runtime Options tab to
see the effective Level of each Logger &#8211; unless it has been altered with the RuntimeOptions
or specifically set in the configuration file, a Logger Level should match that of its parent.
In the latest versions of the LoggingManagement MBean, it is possible to use the RuntimeOptions
to restore a child logger to inheriting from its parent by setting it with an INHERITED level
that removes any previously set Level of its own.
<br clear="all" />
<br clear="all" /></p>

<h1><a name="QpidJMXManagementConsoleUserGuide-ServerInformationMBean"></a><a
name="QpidJMXManagementConsoleUserGuide-Toc238842250"></a> ServerInformation MBean</h1>

<p><br clear="all" />  <img src="/confluence/download/attachments/91960/worddav84a812d67e928feff047962639476642.png"
align="absmiddle" border="0" height="225" width="641" /></p>

<p>The ServerInformation MBean currently only conveys various pieces of version information
to allow precise identification of the server version and its management capabilities. In
future it is likely to convey additional server-wide details and/or functionality.</p>

<h1><a name="QpidJMXManagementConsoleUserGuide-UserManagementMBean"></a><a
name="QpidJMXManagementConsoleUserGuide-Toc238842251"></a> UserManagement MBean</h1>

<p><br clear="all" />
The UserManagement MBean is accessible by admin level users, and allows manipulation of existing
user accounts and creation of new user accounts.</p>

<p><img src="/confluence/download/attachments/91960/worddav87104f8b9dc09760551ce5c9e7ac5107.png"
align="absmiddle" border="0" height="353" width="644" /></p>

<p><br clear="all" />
To add a new user, press the <em>Add New User</em> button, which will load the
dialog shown below.</p>

<p><img src="/confluence/download/attachments/91960/worddav700eaf383c11ba0d570afafde43cf967.png"
align="absmiddle" border="0" height="155" width="264" /></p>

<p>Here you may enter the new users Username, Password, and select their JMX Management
Rights. This controls whether or not they have access to the management interface, and if
so what capabilities are accessible. <em>Read Only</em> access allows undertaking
any operations that do not alter the server state, such as viewing messages. <em>Read
+ Write</em> access allows use of all operations which are not deemed admin-only (such
as those in the UserManagement MBean itself). <em>Admin</em> access allows a user
to utilize any operation, and view the admin-only MBeans (currently these are ConfigurationManagement,
LoggingManagement, and UserManagement).</p>

<p>One or more users at a time may be deleted by selecting them in the table and clicking
the <em>Delete User(s)</em> button. The console will then prompt for confirmation
before undertaking the removals. Similarly, the access rights for one or more users may be
updated by selecting them in the table and clicking the <em>Set Rights</em> button.
The console will then display a dialog enabling selection of the new access level and confirmation
to undertake the update.</p>

<p>An individual user password may be updated by selecting the user in the table in
and clicking the <em>Set Password</em> button. The console will then display a
dialog enabling input of the new password and confirmation to undertake the update.</p>

<p><br clear="all" />
The server caches the user details in memory to aid performance. If may sometimes be necessary
to externally modify the password and access right files on disk. In order for these changes
to be known to the server without a restart, it must be instructed to reload the file contents.
This can be done using the provided <em>Reload User Details</em> button (on older
servers, only the management rights file is reloaded, on newer servers both files are. The
description on screen will indicate the behaviour). After pressing this button the console
will seek confirmation before proceeding.</p>

<h1><a name="QpidJMXManagementConsoleUserGuide-VirtualHostManagerMBean"></a><a
name="QpidJMXManagementConsoleUserGuide-Toc238842252"></a> VirtualHostManager MBean</h1>

<p><br clear="all" />
Each VirtualHost in the server has an associated VirtualHostManager MBean. This allows viewing,
creation, and deletion of Queues and Exchanges within the VirtualHost.</p>

<p>Clicking the <em>Create</em> button in the Queue section will open a
dialog allowing specification of the Name, Owner (optional), and durability properties of
the new Queue, and confirmation of the operation.</p>

<p>One or more Queues may be deleted by selecting them in the table and clicking the
<em>Delete</em> button. This will unregister the Queue bindings, remove the subscriptions
and delete the Queue(s). The console will prompt for confirmation before undertaking the operation.</p>

<p><img src="/confluence/download/attachments/91960/worddav2115fd403ced7854654b16722820100b.png"
align="absmiddle" border="0" height="278" width="645" /></p>

<p>Clicking the <em>Create</em> button in the Exchange section will open
a dialog allowing specification of the Name, Type, and Durable attributes of the new Exchange,
and confirmation of the operation.</p>

<p>One or more Exchanges may be deleted by selecting them in the table and clicking
the <em>Delete</em> button. This will unregister all the related channels and
Queue bindings then delete the Exchange(s). The console will prompt for confirmation before
undertaking the operation.</p>

<p><br clear="all" />
Double-clicking on a particular Queue or Exchange name in the tables will open the MBean representing
<br clear="all" /></p>

<h1><a name="QpidJMXManagementConsoleUserGuide-Notifications"></a><a
name="QpidJMXManagementConsoleUserGuide-Toc238842253"></a> Notifications</h1>

<p><br clear="all" />
MBeans on the server can potentially send Notifications that users may subscribe to. When
managing an individual MBean that offers Notifications types for subscription, the console
supplies a Notifications tab to allow (un)subscription to the Notifications if desired and
viewing any that are received following subscription.</p>

<p>In order to provide quicker access to/awareness of any received Notifications, each
VirtualHost area in the connection tree has a Notifications area that aggregates all received
Notifications for MBeans in that VirtualHost. An example of this can be seen in the figure

<p><img src="/confluence/download/attachments/91960/worddav2fb2e09b7364a506ab885bacaf9d21b4.png"
align="absmiddle" border="0" height="356" width="647" /></p>

<p>All received Notifications will be displayed until such time as the user removes
them, either in this aggregated view, or in the Notifications area of the individual MBean
that generated the Notification.</p>

<p>They may be cleared selectively or all at once. To clear particular Notifications,
they should be selected in the table before pressing the <em>Clear</em> button.
To clear all Notifications, simply press the <em>Clear</em> button without anything
selected in the table, at which point the console will request confirmation of this clear-all

<h1><a name="QpidJMXManagementConsoleUserGuide-ManagingQueues"></a><a
name="QpidJMXManagementConsoleUserGuide-Toc238842254"></a> Managing Queues</h1>

<p><br clear="all" />
As mentioned in earlier discussion of Navigation, Queue MBeans can be opened either by double
clicking an entry in the Queues selection area, or adding a queue to the tree as a favourite
and clicking on its tree node. Unique to the Queue selection screen is the ability to view
additional attributes beyond just that of the Queue Name. This is helpful for determining
which Queues satisfy a particular condition, e.g. having &lt;X&gt; messages on the
queue. The example below shows the selection view with additional attributes <em>Consumer
Count, Durable, MessageCount, and QueueDepth</em> (selected using the <em>Select
Attributes</em> button at the bottom right corner of the table)<em>.</em></p>

<p><img src="/confluence/download/attachments/91960/worddave677d9e7f1b42e266208d0c0721adf3a.png"
align="absmiddle" border="0" height="280" width="647" /></p>

<p>Upon opening a Queue MBean, the Attributes tab is displayed, as shown below. This
allows viewing the value all attributes, editing those which are writable values (highlighted
in blue) if the users management permissions allow, viewing descriptions of their purpose,
and graphing certain numerical attribute values as they change over time.</p>

<p><img src="/confluence/download/attachments/91960/worddav101354ef2a381b3079c7d9e52ad2224e.png"
align="absmiddle" border="0" height="313" width="647" /></p>

<p>The next tab contains the operations that can be performed on the queue. The main
table serves as a means of viewing the messages on the queue, and later for selecting specific
messages to operate upon. It is possible to view any desired range of messages on the queue
by specifying the visible range using the fields at the top and pressing the <em>Set</em>
button. Next to this there are helper buttons to enable faster browsing through the messages
on the queue; these allow moving forward and back by whatever number of messages is made visible
by the viewing range set. The Queue Position column indicates the position of each message
on the queue, but is only present when connected to newer servers as older versions cannot
provide the necessary information to show this (unless only a single message position is requested).</p>

<p><img src="/confluence/download/attachments/91960/worddav2e1e4cac998cf65eda34ebd286cec54e.png"
align="absmiddle" border="0" height="465" width="644" /></p>

<p>Upon selecting a message in the table, its header properties and redelivery status
are updated in the area below the table. Double clicking a message in the table (or using
the <em>View Message Content</em> button to its right) will open a dialog window
displaying the contents of the message.</p>

<p>One or more messages can be selected in the table and moved to another queue in the
VirtualHost by using the <em>Move Message(s)</em> button, which opens a dialog
to enable selection of the destination and confirmation of the operation. Newer servers support
the ability to similarly copy the selected messages to another queue in a similar fashion,
or delete the selected messages from the queue after prompting for confirmation.</p>

<p>Finally, all messages (that have not been acquired by consumers) on the queue can
be deleted using the <em>Clear Queue</em> button, which will generate a prompt
for confirmation. On newer servers, the status bar at the lower left of the application will
report the number of messages actually removed.</p>

<h1><a name="QpidJMXManagementConsoleUserGuide-ManagingExchanges"></a><a
name="QpidJMXManagementConsoleUserGuide-Toc238842255"></a> Managing Exchanges</h1>

<p>Exchange MBeans are opened for management operations in similar fashion as described
for Queues, again showing an Attributes tab initially, with the Operations tab next:</p>

<p><img src="/confluence/download/attachments/91960/worddav8216702af81c751f673de9fefbf7ea7f.png"
align="absmiddle" border="0" height="308" width="639" /></p>

<p>Of the four default Exchange Types <em>(direct, fanout, headers, and topic)</em>
all but <em>headers</em> have their bindings presented in the format shown above.
The left table provides the binding/routing keys present in the exchange. Selecting one of
these entries in the table prompts the right table to display all the queues associated with
this key.  Pressing the <em>Create</em> button opens a dialog allowing association
of an existing queue with the entered Binding.</p>

<p><img src="/confluence/download/attachments/91960/worddav473f254b10ceb96c9068dfdbf0ac7806.png"
align="absmiddle" border="0" height="124" width="124" /></p>

<p>The <em>headers</em> Exchange type (default instantiation <em>amq.match
or amq.headers</em>) is presented as below:</p>

<p><img src="/confluence/download/attachments/91960/worddav21c94936614d053685d7a812d55f8f29.png"
align="absmiddle" border="0" height="314" width="647" /></p>

<p>In the previous figure, the left table indicates the binding number, and the Queue
associated with the binding. Selecting one of these entries in the table prompts the right
table to display the header values that control when the binding matches an incoming message.</p>

<p><img src="/confluence/download/attachments/91960/worddavc0ccbd0be94c6b6494782451f622cb51.png"
align="absmiddle" border="0" height="245" width="258" /></p>

<p>Pressing the <em>Create</em> button when managing a <em>headers</em>
Exchange opens a dialog allowing creation of a new binding, associating an existing Queue
with a particular set of header keys and values. The <em>x-match</em> key is required,
and instructs the server whether to match the binding with incoming messages based on ANY
or ALL of the further key-value pairs entered. If it is desired to enter more than 4 pairs,
you may press the <em>Add additional field</em> button to create a new row as
many times as is required.
<br clear="all" />
<br clear="all" />
When managing a <em>headers</em> Exchange, double clicking an entry in the left-hand
table will open the MBean for the Queue specified in the binding properties.</p>

<p>When managing another Exchange Type, double clicking the Queue Name in the right-hand
table will open the MBean of the Queue specified.</p>

<h1><a name="QpidJMXManagementConsoleUserGuide-ManagingConnections"></a><a
name="QpidJMXManagementConsoleUserGuide-Toc238842256"></a> Managing Connections</h1>

<p><br clear="all" />
Exchange MBeans are opened for management operations in similar fashion as described for Queues,
again showing an Attributes tab initially, with the Operations tab next, and finally a Notifications
tab allowing subscription and viewing of Notifications. The Operations tab can be seen in
the figure below.</p>

<p><img src="/confluence/download/attachments/91960/worddav6925b5a0a478daf4a48218d7492a81d4.png"
align="absmiddle" border="0" height="315" width="600" /><br/>
The main table shows the properties of all the Channels that are present on the Connection,
including whether they are <em>Transactional</em>, the <em>Number of Unacked
Messages</em> on them, and the <em>Default Queue</em> if there is one (or
<em>null</em> if there is not).</p>

<p>The main operations supported on a connection are Commiting and Rolling Back of Transactions
on a particular Channel, if the Channel is Transactional. This can be done by selecting a
particular Channel in the table and pressing the <em>Commit Transactions</em>
or <em>Rollback Transactions</em> buttons at the lower right corner of the table,
at which point the console will prompt for confirmation of the action. These buttons are only
active when the selected Channel in the table is Transactional.</p>

<p>The final operation supported is closing the Connection. After pressing the <em>Close
Connection</em> button, the console will prompt for confirmation of the action. If this
is carried out, the MBean for the Connection being managed will be removed from the server.
The console will be notified of this by the server and display an information dialog to that
effect, as it would if any other MBean were to be unregistered whilst being viewed.</p>

<p>Double clicking a row in the table will open the MBean of the associated <em>Default
Queue</em> if there is one.</p>
     <div id="commentsSection" class="wiki-content pageSection">
       <div style="float: right;">
            <a href="http://cwiki.apache.org/confluence/users/viewnotifications.action"
class="grey">Change Notification Preferences</a>

       <a href="http://cwiki.apache.org/confluence/display/qpid/Qpid+JMX+Management+Console+User+Guide">View
       <a href="http://cwiki.apache.org/confluence/pages/diffpagesbyversion.action?pageId=91960&revisedVersion=11&originalVersion=10">View
       <a href="http://cwiki.apache.org/confluence/display/qpid/Qpid+JMX+Management+Console+User+Guide?showComments=true&amp;showCommentArea=true#addcomment">Add

Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:commits-subscribe@qpid.apache.org

View raw message