[UNIX, Linux, Windows, IBM i]

System topics for monitoring and activity trace

System topics in queue manager topic trees are used for resource monitoring (some of which is similar to the content of statistics messages) and as a way of consuming application activity trace.

$SYS/MQ branch of queue manager topic tree

Each queue manager's topic tree contains the $SYS/MQ branch. The queue manager publishes to topic strings in this branch. An authorized user can subscribe to these topic strings to receive information on the queue manager and the activity on it. These system topics are used for application activity trace and monitoring. For more information, see Topic Trees.

The root of the $SYS/MQ branch is represented by the SYSTEM.ADMIN.TOPIC topic object. The $SYS/MQ branch of the topic tree is isolated from the rest of the topic tree in the following ways:
  • A subscription that is made with wildcard characters at a point higher in the tree than $SYS/MQ does not match any topic string within the $SYS/MQ branch. The wildcard operation for SYSTEM.ADMIN.TOPIC is set to Block and cannot be modified. This limitation also applies when you use wildcard characters with the runmqsc command DISPLAY TPSTATUS to display nodes in the topic tree. To view topic nodes within the $SYS/MQ branch, start the topic string with $SYS/MQ. For example, use $SYS/MQ/# to see all nodes.
  • You must be authorized at, or deeper than, $SYS/MQ to be granted authority to use the $SYS/MQ topic tree. Authorization to subscribe to a topic string is based on authorization being granted for an administered topic object at or higher than the topic string in the topic tree. Authorizations that are granted at the very root (SYSTEM.BASE.TOPIC) would grant a user authority to all topic strings. However, in the case of the $SYS/MQ branch, access granted higher than $SYS/MQ does not apply to the $SYS/MQ topic strings.
  • The $SYS/MQ branch of the topic tree is isolated from topic attributes set higher in the tree. The SYSTEM.ADMIN.TOPIC does not inherit any attributes from a topic object defined higher in the topic tree. For example, changing attributes of SYSTEM.BASE.TOPIC does not affect the behavior of the $SYS/MQ branch.
All topic strings that start with $SYS/MQ are reserved for use by IBM® MQ. These topic strings have the following restrictions:
  • You cannot enable multicast from the $SYS/MQ branch of the topic tree.
  • Clustering is not supported for the $SYS/MQ branch.
  • The proxy subscription mechanism cannot be set to force.
  • Applications cannot publish to a $SYS/MQ topic string.
  • Publication and subscription scope defaults to the local queue manager only.
  • No wildcard characters can be used at the following points:
    • $SYS/MQ/
    • $SYS/MQ/INFO
    • $SYS/MQ/INFO/QMGR
    • $SYS/MQ/INFO/QMGR/queue_manager_name
    • $SYS/MQ/INFO/QMGR/queue_manager_name/ActivityTrace
    Attempts to use wildcard characters at these points causes a subscription failure with the reason MQRC_ADMIN_TOPIC_STRING_ERROR.

Performance monitoring API available through publish/subscribe

From IBM MQ 9.0, you can monitor queue manager statistics by using the simple publish/subscribe mechanism and either the amqsrua sample application, or your own application. Statistics are published to a system topic under $SYS/MQ/INFO/QMGR that help users monitor resources. These statistics can be viewed either by running the amqsrua sample application, or by writing an application that subscribes to the resource monitoring system topic in a similar way to amqsrua.