Snippet 2 – Basic MQ Queue Rate monitoring

My previous post was about one small project I got involved with over the last week. This is another one prompted by working with an MQ user, this time to do with metrics. Essentially they had an urgent need to do some basic MQ queue rate monitoring: how many messages were put/got in an interval. More sophisticated observability, whether using a product like Instana, or tools such as these, would be a later exercise. I described what MQ can generate, and what some of the provided sample programs do, but decided it was more interesting to demonstrate it with real running code.

I also think of this as the coding version of the “Yes, And …” rule for Improv. Start with one piece and see where it leads. I ended up with 3 pieces – collect data, format data, display data. Each piece had some utility on its own, but I then thought “Yes, and then what can I do to demonstrate the next phase most effectively.”

Continue reading “Snippet 2 – Basic MQ Queue Rate monitoring”

This post was last updated on November 15th, 2022 at 12:41 pm

Decoding MQI constants

On Twitter, Michael asked: “any logic or hints on how to interpret the PCF parameter names returned as multiples from the com.ibm.mq.headers.pcf?” Which is a very good question but a proper answer is far too long to type there. There are several different ways that you can approach the problem, depending on what you are trying to do. So this post talks about decoding MQI constants.

Continue reading “Decoding MQI constants”

This post was last updated on March 21st, 2022 at 09:47 am

Application Activity – formatting and extracting key information

MQ Application Activity reports have a lot of detail. This post shows a simple way to extract key fields for simpler processing.

Application Activity Trace

Application Activity Trace is a mechanism on the MQ Distributed platforms that give a report of all the MQI calls made by a program. Originally configured via a text file, MQ V9 enhanced them by allowing a monitoring application to subscribe to topics that describe the application or channel of interest.
See how to extract key fields from events

This post was last updated on November 25th, 2019 at 09:45 am

Adding resource statistics to your applications

MQ V9 added resource monitoring statistics that you can subscribe to. In this post I’m going to show how you can generate similar statistics from your own applications using the same model. For example, you may want to track how many successful and how many failed messages are being processed.

See how to add statistics generation to your applications

This post was last updated on November 19th, 2019 at 07:41 pm

Formatting MQ Events as JSON

IBM MQ has always been able to generate event messages when something “interesting” has occurred in the queue manager. These events could be showing that a queue is full, or that there has been an authorisation failure; someone needing an audit trail might want to capture the command and configuration events. These events are written as MQ messages to well-known queues, using PCF structures which can be decoded to give the full description of the event.

See how these events can now be fed to JSON-aware processors

This post was last updated on November 22nd, 2019 at 09:08 pm

MQ 8.0.0.4 Events and MQI Formatting

This article is going to talk about some new code shipped with the V8.0.0.4 FixPack to make it easier to see what a queue manager is doing, simplify investigation of possible problems, and to assist with writing your own MQ applications. Formatting MQ Events is now available as part of the MQ product.

To start with, we need to talk a little about MQ’s event generation.

Continue reading “MQ 8.0.0.4 Events and MQI Formatting”

This post was last updated on November 20th, 2019 at 09:31 pm