View Monitor Topics

Monitor topics are similar to other topics. To view these topics, create a client application that subscribes to the desired topics.

Because monitor topics contain potentially sensitive system information, authentication and permissions are always checked when clients access a monitor topic. That is, even if authentication for the server is disabled, clients are not able to access monitor topics unless they have logged in with a valid username and password and the user has permission to view the desired topic.

The admin user and members of the $admin group have permission to perform any server action, including subscribing to monitor topics. All other users must be explicitly granted permission to view monitor topics before the user can successfully create subscribers for monitor topics. For example, if user BOB is not a member of the $admin group, and you wish to allow user BOB to monitor all connection events, you can grant BOB the required permission with the following command using the administration tool:

grant topic $sys.monitor.connection.* BOB subscribe

Bob’s application can then create a topic subscriber for $sys.monitor.connect.* and view any connect or disconnect events.

Note: Topics starting with $sys.monitor do not participate in any permission inheritance from parent topics other than those starting with $sys.monitor (that is, *.* or *.> is not a parent of $sys.monitor).

Therefore, granting permission to a user to subscribe to > does not allow that user to subscribe to $sys.monitor topics. You must explicitly grant users permission to $sys.monitor topics (or parent topics, such as $sys.monitor.admin.*) for a user to be able to subscribe to that topic.

Monitor topics publish messages of type MapMessage. Information about the event is stored within properties in the message. Each system event has different properties. Monitor Messages, describes each of the monitor topics and the message properties for the messages published on that topic. Your application can receive and display all or part of a monitor message, just as it would handle any message sent to a topic. However, there are some ways in which monitor messages are handled differently from standard messages:

  • Monitor messages cannot be routed to other servers.
  • Monitor messages are not stored persistently on disk.
  • Monitor messages are not swapped from process memory to disk.

You can have any number of applications that subscribe to monitor messages. You can create different applications that subscribe to different monitor topics, or you can create one application that subscribes to all desired monitor topics. Your topic subscribers can also use message selectors to filter the monitor messages so your application receives only the messages it is interested in.