System topics for monitoring and activity trace

System topics in queue manager topic trees are used for resource monitoring and for application activity trace.

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 we 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:

  • We 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.
  • The use of wildcard characters within subscription topic strings is not supported anywhere in the $SYS/MQ/INFO/QMGR/queue_manager_name/Monitor part of the topic tree. 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.

The monitoring of queue manager statistics by using the simple publish/subscribe mechanism and amqsrua is available at IBM MQ Version 9.0.0.0. See the IBM Developer post Statistics published to the system topic in MQ v9 for historical context on the feature.