Discovery Mechanism

WebSphere MQ can be installed on several UNIX platforms and Microsoft Windows, and is managed using a command line interface standardized across platforms. The command line interface is accessible through programs, runqsc or runmqadm, that are included in a WebSphere MQ installation.

The MQ by Shell job uses the Shell CI associated with a server as its trigger. Because every server in the CMDB may have an associated Shell CI, the trigger query results contain the Shell CI only for servers on which WebSphere MQ software is installed.

The MQ by Shell job uses the WebSphere MQ command line interface to query for MQ objects and their details. Since the runmqsc command requires administrator or root privileges and the runmqadm command is not always available, the job attempts the runmqadm -r command first. If runmqadm fails, the job tries the runmqsc command.

After logging in to the MQ server using the Shell CI (created by the Host Connections by Shell job), DFM:

  1. Identifies the version of WebSphere MQ installed on the server. This is done using the dspmqver command. (If dspmqver fails, the mqver command is attempted.)

  2. Retrieves a list of WebSphere MQ Queue Managers using the dspmq command.

  3. Retrieves details on each Queue Manager using the MQ CLI (command line interface) command:

    DISPLAY QMGR DESCR DEADQ DEFXMITQ REPOS CCSID
    
  4. Retrieves a list of queues on each Queue Manager using the MQ CLI command:

    DISPLAY QUEUE(*) TYPE DESCR CLUSTER CLUSNL USAGE RNAME RQMNAME XMITQ TARGQ DEFTYPE
    

    Relationships between queues and other MQ objects such as other queues, Queue Managers, and so on, are built on the fly.

  5. Retrieves (for each TRANSMIT Queue found) the remote server name and IP and port using the sender channel associated with the transmit queue. This is done using the MQ CLI command:

    DISPLAY CHANNEL(*) WHERE(xmitq EQ <transmitQueueName>) TYPE(SDR) CONNAME
    
  6. Retrieves a list of channels on each Queue Manager using the MQ CLI command:

    DISPLAY CHANNEL(*) CHLTYPE TRPTYPE DESCR CLUSTER CLUSNL CONNAME XMITQ
    

    Relationships between channels and other MQ objects such as other queues, channels, and so on, are built on the fly.

  7. Retrieves a list of clusters that each Queue Manager is a member of, or knows about, using the MQ CLI command:

    DISPLAY CLUSQMGR(*) CONNAME QMTYPE
    

    Relationships between clusters and other clusters are built on the fly.

  8. Retrieves the namelists that each Queue Manager is a member of, or knows about, using the MQ CLI command:

    DISPLAY NAMELIST(*) NAMES NAMCOUNT DESCR