Overview

 

This monitor collects statistical information from the MQ Queue Manager.

Plugin Details

Plug-In Versions

MQQueueChannelMonitor

MQ Overview Dashboard to start with: MQ.Overview.dashboard.xml

dynaTrace Versions

5.5 and higher

Author

Asad Ali (asad.ali@dynatrace.com)

Eugene Turetsky (eugene.turetsky@dynatrace.com) added z/OS support                                                                                                                                     

License

dynaTrace BSD

Support

Not Supported

Known Problems

 

Release History

2013-03-05 Initial Release
2013-09-04 Added z/OS support (eugene.turetsky@dynatrace.com)
2014-01-30 Fixed issue with duplicate channels (eugene.turetsky@dynatrace.com)
2014-03-07 Plugin version 0.9.1.3. Re-written MQ Queue channel management piece of the plugin (eugene.turetsky@dynatrace.com)
Changes include:

  1. Aggregation on channel level. Aggregation is done by number-of-messages, bytes-sent, bytes-received, buffers-sent, buffers-received.
  2. Added missing connections for given channels. For these connections channel names are composed with “channel-name” and “connection-name” separated by “|” (pipe) character. This rule does not apply to the channels which have aggregated statistics.
  3. Aggregated channels do not have “status” and “substate” measures.
  4. Added the following fields for channel’s aggregate records and connection channels:
    1. CHANNEL_TYPE
    2. LAST_MSG_DATE
    3. LAST_MSG_TIME
    4. CURRENT_SHARING_CONVS for SVRCONN channels
  5. Added two new plugin parameters for the LAST_MSG_DATE and LAST_MSG_TIME fields returned by the MQCMD_INQUIRE_CHANNEL_STATUS command:
    1. Date Format, default value is "yyyy-MM-dd"
    2. Time Format, default value is "HH.mm.ss"
  6. On the aggregate level
    1. Channel type is a type of the last connection channel for given channel.
    2. LAST_MSG_DATE and LAST_MSG_TIME are the latest date and time of the channel connections for given channel
    3. CURRENT_SHARING_CONVS is sum of CURRENT_SHARING_CONVS of the underlying channel connections for given channel

2014-04-11 Plugin version 0.9.1.4. Added extended filtering capabilities for channel names: channel name filter parameter now can contain list of semicolon (";")  separated filters. (eugene.turetsky@dynatrace.com
2014-07-13 Plugin version 0.9.1.5. Fixed issue related to SSL communication (eugene.turetsky@dynatrace.com)

2014-09-13 Plugin version 0.9.1.7. Fixes include (eugene.turetsky@dynatrace.com):

  • Added two new parameters to avoid using the default SYSTEM.DEFAULT.MODEL.QUEUE queue. These parameters are:
    • Model Queue Name;
    • Reply Queue.

 Notes

      1. Use of custom Model Queues is available for distributed and z/OS platforms.
        • For z/OS platform make sure to enable performance and configuration events for the Queue Manager, otherwise plugin will throw exception with Reason Code '3224'. Next is example of the command that should be issued against Queue Manager in question to enable performance events: /cpf ALTER QMGR CONFIGEV(ENABLED) PERFMEV(ENABLED)
      1. APAR IT04221 should be applied for Websphere MQ versions 7.0.1 thru 8.0 on all platforms in order to use asterisk (*) in the Reply Queue name. This APAR is included in the 7.5.0.5 fix pack.  
  •  Fixed issue associated with the en-queue/de-queue measures.

2014-10-02 Plugin version 0.9.1.8. Fixes include (eugene.turetsky@dynatrace.com):

  • Fixed the java.lang.NullPointerException bug reported here.

2015-02-18 Plugin version 0.9.1.9 (eugene.turetsky@dynatrace.com):

  • Added two new measures: the ENQUEUE_RATE and DEQUEUE_RATE per post here.

2015-02-25 Plugin version 0.9.1.10 Fixes include (asad.ali@dynatrace.com)

  • Fixed the bug that was setting INT_LAST_GET and INT_LAST_PUT to -1.

2015-03-12 Plugin version 0.9.1.11 (eugene.turetsky@dynatrace.com):

  • Fixed issue described in the post here.

2015-05-31 Plugin version 0.9.1.12 (eugene.turetsky@dynatrace.com

  • WMQ jars were upgraded to fix pack 7.5.0.5 to make available fix described in APAR IT04221 (see notes for plugin version 0.9.1.7 above).

2015-11-24 Plugin version 0.9.1.14 (shaun.gautz@dynatrace.com)

  • Added Percentage Full Queue Depth metric. This metric is CURRENT_Q_DEPTH / MAX_Q_DEPTH.
  • Trimmed trailing whitespace from the Queue names
  • Added multiple filtering for Queue Name. Just like the Channel Name filter, the Queue Name filter parameter can now contain a list of semicolon (";") separated filters. The filters must return a Queue name.

2015-12-10 Plugin version 0.9.1.15 (shaun.gautz@dynatrace.com)

  • Fixed the Percentage Full Queue Depth metric. It was reporting .25%, instead of 25%.

2015-12-30 Plugin version 0.9.1.16 (eugene.turetsky@dynatrace.com)

  • Added processing of channels which are not in use.

2016-01-20 Plugin version 0.9.1.17 (eugene.turetsky@dynatrace.com)

  • Fixed unit measure for the OLDEST_MSG_AGE metric described here;
  • Improved logging when plugin reconnects to QMGR.

2016-01-22 Plugin version 0.9.1.18 (eugene.turetsky@dynatrace.com)

  •  Fixed issue with the recovery of the plugin after infrastructure failures. See post here.

2016-02-20 Plugin version 0.9.1.19 (eugene.turetsky@dynatrace.com)

  • Added the Run Reset Command indicator. When it is 'true', the MQ Reset command is executed, otherwise execution of this command is skipped. If the Run Reset Command indicator is false the following measures are not gathered:
    • DEQUEUE_COUNT;
    • DEQUEUE_RATE;
    • ENQUEUE_COUNT;
    • ENQUEUE_RATE;
    • HIGH_Q_DEPTH.

2016-06-10 Plugin version 0.9.1.20 (eugene.turetsky@dynatrace.com)

  •  Applied fix for the IBM WebSphere MQ bug related to the MQ Advanced Message Security (AMS).

2016-09-21 Plugin version 0.9.1.22 (eugene.turetsky@dynatrace.com)

  • Added the “Debugging Queues” parameter to the plugin which contains semicolon separated list of queue names to gather measures of specific queues into plugin's log file for further debugging;
  • Improved error handling.

2016-10-31 Plugin version 0.9.1.23 (eugene.turetsky@dynatrace.com)

  • Fixed issue with missing the INHIBIT_GET and INHIBIT_PUT queue measures.

2017-02-24 Plugin version 0.9.1.24 (asad.ali@dynatrace.com)

  • Fixed bug where the getCipherEquiv call was not picking up the correct equivalent for TLS_RSA_WITH_AES_256_CBC_SHA 

2017-07-10 Plugin version 0.9.1.25 (christian.abele@dynatrace.com)

  • Added IBM MQ version 8.0 Libraries

Provided Measures

Queue Manager

Queue

Channel

Measures definition and possible values

Queue Manager Status possible values and meaning:

n/a = -1

Stopped = 0

Starting = 1

Running = 2

Quiescing = 3

Stopping = 4

Standby=5

 

Channel Status possible values and meaning:

n/a = 0

Binding = 1

Starting = 2

Running = 3

Stopping = 4

Retrying = 5

Stopped = 6

Requesting = 7

Paused = 8

Initializing = 13

Inactive=101

Conn_Not_Def=200

Out_Service=201

Going_Out=202

Released=203

Obtaining=204

Acquired=205

Freeing=206

Available=207

Unknown=255

 

Channel Type possible values and meaning:

Sender=1

Server=2

Receiver=3

Requester=4

Server-connection (for use by clients)=7

Client connection=6

Cluster-receiver=8

Cluster-sender=9

 

Channel Substate possible values and meaning:

Running channel auto-definition exit.=1200

Compressing or decompressing data.=1800

End of batch processing.=100

SSL handshaking.=1300

Heartbeating with partner.=600

Performing MQGET.=1600

Executing an IBM MQ API call, other than an MQPUT or MQGET.=1700

Performing MQPUT.=1500

Running retry exit.=1100

Running message exit.=1000

Name server request.=1400

Network connect.=1250

Undefined state.=0

Running receive exit.=800

Network receive.=300

Resynching with partner.=500

Running security exit.=700

Running send exit.=900

Network send.=200

Serialized on queue manager access.=400

 

 

From IBM docs at https://www-01.ibm.com/support/knowledgecenter/SSFKSJ_8.0.0/com.ibm.mq.ref.adm.doc/q087560_.htm, the following measures are defined as indicated below: 

SubState (MQCFIN)

Current action being performed by the channel (parameter identifier: MQIACH_CHANNEL_SUBSTATE).

The value can be any of the following values:

MQCHSSTATE_CHADEXIT

Running channel auto-definition exit.

MQCHSSTATE_COMPRESSING

Compressing or decompressing data.

MQCHSSTATE_END_OF_BATCH

End of batch processing.

MQCHSSTATE_HANDSHAKING

SSL handshaking.

MQCHSSTATE_HEARTBEATING

Heartbeating with partner.

MQCHSSTATE_IN_MQGET

Performing MQGET.

MQCHSSTATE_IN_MQI_CALL

Executing an IBM MQ API call, other than an MQPUT or MQGET.

MQCHSSTATE_IN_MQPUT

Performing MQPUT.

MQCHSSTATE_MREXIT

Running retry exit.

MQCHSSTATE_MSGEXIT

Running message exit.

MQCHSSTATE_NAME_SERVER

Name server request.

MQCHSSTATE_NET_CONNECTING

Network connect.

MQCHSSTATE_OTHER

Undefined state.

MQCHSSTATE_RCVEXIT

Running receive exit.

MQCHSSTATE_RECEIVING

Network receive.

MQCHSSTATE_RESYNCHING

Resynching with partner.

MQCHSSTATE_SCYEXIT

Running security exit.

MQCHSSTATE_SENDEXIT

Running send exit.

MQCHSSTATE_SENDING

Network send.

MQCHSSTATE_SERIALIZING

Serialized on queue manager access.

 

 

LastMsgDate (MQCFST)

Date last message was sent, or MQI call was handled, in the form yyyy-mm-dd (parameter identifier: MQCACH_LAST_MSG_DATE).

The maximum length of the string is MQ_CHANNEL_DATE_LENGTH.

LastMsgTime (MQCFST)

Time last message was sent, or MQI call was handled, in the form hh.mm.ss (parameter identifier: MQCACH_LAST_MSG_TIME).

The maximum length of the string is MQ_CHANNEL_TIME_LENGTH.

Configuration

This monitor uses IBM PCF library to connect to the MQ Manager and collect the statistics. The plugin can be run on any collector. In order for this plugin to work, ensure that SYSTEM.ADMIN.SVRCONN type channel is created on the MQ Manager. This is the channel that the MQ Manager would publish the statistics information.

NOTE: This plugin requires dynaTrace server version 4.2.0.3170 or higher. This monitor works for IBM MQ 7.0 and higher

ADDITIONAL NOTE: To get the value of INT_LAST_GET and INT_LAST_PUT, please ensure that the real time monitoring of the queue is enabled. Please see the link below for more information:

http://www-01.ibm.com/support/knowledgecenter/SS3JRN_7.2.0/com.ibm.omegamon.mes_dist.doc_7.1/pd-c_message-blank.html 

Installation

Import the Plugin into the dynaTrace Server. For details how to do this please refer to the dynaTrace documentation.

Comments

Please post comments in AppMon & UEM Plugins

Looking for old comments? Find them here (this page is loading very slow!)