Overview

The IBM_WebSphereMQExtendedDiscovery pattern performs a deep discovery of the distributed queue configuration, models Channels and Queues and creates the respective relationships between them and the IBM WebSphere MQ Software Instance.

Configuration Options

There are several configuration options available for this Extended Discovery:

domain_lookup := false; - allows to enable DNS domain lookup to search for related Host

model_system_q := false; - allows to model System Queues

model_system_ch := false; - allows to model System Channels

Example of the distributed queue configuration

The message exchange process in distributed queue is shown on the Figure 1 below:

Trigger

The IBM_WebSphereMQExtendedDiscovery pattern triggers off the creation or confirmation of a IBM WebSphere MQ Series Queue Manager with non-empty install root.

Install root

The install root is inherited from the triggering SoftwareInstance.

Modeling Channels

Channels are modeled as Detail nodes of the IBM WebSphere MQ Series Queue Manager SoftwareInstance.

The IBM_WebSphereMQExtendedDiscovery pattern retrieves the list of channels from the runmqsc.exe application located in the bin folder of the install root using the following commands:

  • On Windows:
    • echo end|echo dis chl(*) all| "%install_root%\\bin\\runmqsc.exe" <MQ_INSTANCE>
  • On UNIX:
    • echo 'end'|echo 'dis chl(*) all'| %install_root%/bin/runmqsc <MQ_INSTANCE>


The following table describes the attributes returned by the command and the regular expressions that are used to retrieve their values:

Modeled attributeDescriptionValue examples                         Regular Expression
nameName of the channel LONDON 

CHANNEL\(([^\)]+)\)

typeType of the channel SDR - sender, 
CLUSSDR - cluster  sender, 
SVRCONN - system channel, 
RCVR - receiver, 
CLUSRCVR - cluster receiver 

CHLTYPE\(([^\)]+)\)

connection nameRemote host name and port where related QM channel is listening 

132.18.50.140(1414)

CONNAME\((\S+)\)

transmission queueTransmission queue used by the channelKIEV_SNDQ 

XMITQ\(([^\)]+)\)

remote QM nameRemote QM namePUNE

RQMNAME\(([^\)]+)\)

Note

Modeling System Queues and Channels can be enabled in the configuration section of the pattern. It is disabled by default.

Modeling Local Queues

Local queues are modeled as Detail nodes of the either IBM WebSphere MQ Series Queue Manager SoftwareInstance (for normal local queues or queue aliases) or the Channel Detail node of the IBM WebSphere MQ Series Queue Manager SoftwareInstance (for local queues of the transmission type).

The IBM_WebSphereMQExtendedDiscovery pattern retrieves the list of local queues from the runmqsc.exe application located in the bin folder of the install root using the following commands:

  • On Windows:
    • echo end|echo dis ql(*) all| "%install_root%\\bin\\runmqsc.exe" <MQ_INSTANCE>
    • echo end|echo dis qa(*) all| "%install_root%\\bin\\runmqsc.exe" <MQ_INSTANCE>
  • On UNIX:
    • echo 'end'|echo 'dis ql(*) all'| %install_root%/bin/runmqsc <MQ_INSTANCE>
    • echo 'end'|echo 'dis qa(*) all'| %install_root%/bin/runmqsc <MQ_INSTANCE>


The following table describes the attributes returned by the command and the regular expressions that are used to retrieve their values:

Modeled attributeRegular Expression
name

^([^\)]+)

cluster relation

CLUSTER\(([^\)]+)\)

type*

USAGE\(([^\)]+)\)

transmission queue

XMITQ\(([^\)]+)\)

remote QM name

RQMNAME\(([^\)]+)\)

The type is identified for all Local Queues except Queue Aliases by looking for either "normal" or "transmission" substring in the resulting string.

Note

Modeling System Queues and Channels can be enabled in the configuration section of the pattern. It is disabled by default.

Modeling Remote Queues

Remote queues are modeled as Detail nodes of the Channel node that has them registered.

The IBM_WebSphereMQExtendedDiscovery pattern retrieves the list of remote queues from the runmqsc.exe application located in the bin folder of the install root using the following commands:

  • On Windows:
    • echo end|echo dis qr(*) all| "%install_root%\\bin\\runmqsc.exe" <MQ_INSTANCE>
  • On UNIX:
    • echo 'end'|echo 'dis qr(*) all'| %install_root%/bin/runmqsc <MQ_INSTANCE>


The following table describes the attributes returned by the command and the regular expressions that are used to retrieve their values:

Modeled attributeDescriptionValue examples                         Regular Expression
nameQueue nameREM.INVENTQ

QUEUE\(([^\)]+)\)

name of the queue on remote QMName of the queue on remote QMLOCAL.INVENTORY 

RNAME\(([^\)]+)\)

remote QM nameRemote QM name

LONDON

RQMNAME\(([^\)]+)\)

transmission queue nameRelated transmission queuePUNEQ

XMITQ\(([^\)]+)\)

Note

Modeling System Queues and Channels can be enabled in the configuration section of the pattern. It is disabled by default.

Relationship Creation

The pattern creates a containment relationship with IBM WebSphere MQ Software Instance for every channel and for every Local Queue Detail node of normal type, as they can be used by any channel within IBM WebSphere MQ.

The pattern also creates a containment relationship between the Remote Queue Detail and the Channel with the matching transmission queue.

Was this page helpful? Yes No Submitting... Thank you

5 Comments

  1. Unknown User (abidhshaikh@gmail.com)

    Hi ,

    MQ Extended discovery is not collecting any thing for MQ on solaris & AIX.

    1. Unknown User (petrus.johansson@ikea.com)

      The user account used to discover the AIX and Solaris account must be in the "mqm" group (or the group owning the runmqsc command) as this command is normally not executable by a regular user account.

      Also, you need to enable the discovery options in the Pattern Configuration section.

  2. Unknown User (abidhshaikh@gmail.com)

    Hi Petrus,

    Thanks for your response.

    Not only the permission but the syntax to run runmqsc is also wrong, it should contain queue manager name.

    I have modified as shown below in the patter and now it works fine.

    lques_cmd := discovery.runCommand(host, "echo 'end'|echo 'dis ql(*) all'| %install_root%/bin/runmqsc %queue_manager% | egrep 'QUEUE|CLUSTER|USAGE'");

    1. Unknown User (petrus.johansson@ikea.com)

      Good to hear, I recommend logging a ticket with BMC Support about the issue so it can get fixed in TKU.

  3. how can i sync it with the CMDB?