Configure a queue manager for telemetry on Windows
Follow these manual steps to configure a queue manager to run MQ Telemetry. We can run an automated procedure to set up a simpler configuration using the MQ Telemetry support for IBM MQ Explorer.
Before you begin
- See Install MQ Telemetry for information on how to install IBM MQ, and the MQ Telemetry feature.
- Create and start a queue manager. The queue manager is referred to as qMgr in this task.
- As part of this task you configure the telemetry (MQXR) service. The MQXR property settings are stored in a platform-specific properties file: mqxr_win.properties or mqxr_unix.properties. You do not normally need to edit the MQXR properties file directly, because almost all settings can be configured through MQSC admin commands or IBM MQ Explorer. If we do decide to edit the file directly, stop the queue manager before you make your changes. See MQXR properties.
The MQ Telemetry support for IBM MQ Explorer includes a wizard, and a sample command procedure sampleMQM. They set up an initial configuration using the guest user ID; see Verifying the installation of MQ Telemetry by using IBM MQ Explorer and IBM MQ Telemetry Transport sample programs.
Follow the steps in this task to configure MQ Telemetry manually using different authorization schemes.
Procedure
- Open a command window at the telemetry samples directory.
The telemetry samples directory is WMQ program installation directory\mqxr\samples.
- Create the telemetry transmission queue.
echo DEFINE QLOCAL('SYSTEM.MQTT.TRANSMIT.QUEUE') USAGE(XMITQ) MAXDEPTH(100000) | runmqsc qMgrWhen the telemetry (MQXR) service is first started, it creates SYSTEM.MQTT.TRANSMIT.QUEUE.
It is created manually in this task, because SYSTEM.MQTT.TRANSMIT.QUEUE must exist before the telemetry (MQXR) service is started, to authorize access to it.
- Set the default transmission queue for qMgr
When the telemetry (MQXR) service is first started, it does not alter the queue manager to make SYSTEM.MQTT.TRANSMIT.QUEUE the default transmission queue.
To make SYSTEM.MQTT.TRANSMIT.QUEUE the default transmission queue alter the default transmission queue property. Alter the property using the IBM MQ Explorer or with the command in Figure 1.
Altering the default transmission queue might interfere with your existing configuration. The reason for altering the default transmission queue to SYSTEM.MQTT.TRANSMIT.QUEUE is to make sending messages directly to MQTT clients easier. Without altering the default transmission queue you must add a remote queue definition for every client that receives IBM MQ messages; see Sending a message to a client directly.
- Follow a procedure in Authorizing MQTT clients to access IBM MQ objects to create one or more user IDs. The user IDs have the authority to publish, subscribe, and send publications to MQTT clients.
- Install the telemetry (MQXR) service
type installMQXRService_win.mqsc | runmqsc qMgr- Start the service
echo START SERVICE(SYSTEM.MQXR.SERVICE) | runmqsc qMgrThe telemetry (MQXR) service is started automatically when the queue manager is started.
It is started manually in this task, because the queue manager is already running.
- Using IBM MQ Explorer, configure telemetry channels to accept connections from MQTT clients.
The telemetry channels must be configured such that their identities are one of the user IDs defined in step 4.
See also DEFINE CHANNEL (MQTT).
- Verify the configuration by running the sample client.
For the sample client to work with your telemetry channel, the channel must authorize the client to publish, subscribe, and receive publications. The sample client connects to the telemetry channel on port 1883 by default. See also IBM MQ Telemetry Transport sample programs.
Creating SYSTEM.MQXR.SERVICE manually
Figure 2 shows the runmqsc command to create the SYSTEM.MQXR.SERVICE manually on Windows.