Tracking IBM MQ to CICS

Instana provides an option for monitoring IBM® MQ to CICS transactions that do not require a change to the existing CICS®/COBOL applications.

Before you begin

For the Instana agent side, Instana supports both Automatic Instrumentation and Manual Instrumentation. Either instrumentation can be used depending on your application need. To track IBM MQ or JMS messages that are consumed by CICS transactions, Instana agent needs to be configured if Instana AutoTrace is NOT adding tracing data to your application.
Note: Here is an example where Autotrace may work: for IBM MQ/JMS servlet applications, the Instana agent will successfully use Auto Tracing to detect JMS messages since Java is a supported technology for AutoTrace.

About this task

Perform this procedure to track MQ to CICS transactions end-to-end with Instana, depending on the JMS/IBM MQ application setup.

Procedure

  1. Optional: Update Instana agent setting.
    If Instana Autotrace does not work, additional configuration is needed. For IBM MQ/JMS applications that do not initiate transactions via HTTP calls, special configuration must be in place in the Instana agent to monitor the transactions. For more information, see Java trace SDK documentation. An example is shown below that updates the configuration.yaml file of the Instana agent to monitor the messages of a particular application.
    # Java Tracing
    com.instana.plugin.javatrace:
    instrumentation:
        sdk:
          targets:
            - match:
                type: class
                name: MQSample
                method: 'sendMessage'
            span:
                name: 'MQSampleSpan'
                type: ENTRY            
  2. Configure the z/OS MQ queue property control setting.
    In this step, two configuration options are provided. You can choose the option that suits your needs better.
    • Option 1: Required to update existing CICS/COBOL applications:
      1. Set the property control property attribute to the value COMPAT so that the RFH2 header will be passed to the CICS application.
      2. Update the application to either:
        • handle the RHF2 header,
        • or set the GMO property to the option MQGMO_NO_PROPERTIES (none) on the MQGET.
    • Option 2: No need to update existing CICS/COBOL applications:
      Set the property control property attribute to the value NONE.
      Note: If a QALIAS (ALIAS queue) is used by the getting application then the ALIAS queue must use the property control attribute value NONE. In this case, the base queue must also use the property control attribute value NONE.

      In this setting, MQ will strip the RFH2 header before the message is passed to CICS, so no CICS application changes will be needed. In this case, Z APM Connect will intercept the header before MQ strips it off and use it for continued end-to-end tracking of the transaction.