A requirement I’ve seen a couple of times recently asked how to save an MQ queue manager’s configuration in a different format than MQSC. This short post shows one way to do that.
One tool I created a few years ago deals with formatting SMF records from z/OS. I designed it to take MQ’s 115 and 116 records and generate output that users could import to spreadsheets and SQL databases. I made a video about the original version of the tool here, and I wrote about more enhancements to that tool in this post.
If you want to know more about how to use the data after formatting, then Lyn has a lot of posts at her blog site talking about analyses she has run and lessons she has learned.
Most recently I’ve added (with help) some formatting options to deal with a couple of additional record types. That work showed how non-standardised SMF records are, and how much manual work is needed to create formatters. This post will talk about how something that supposedly has a common format does not really.
The MQ metric exporters are a set of Go programs that deliver queue manager statistics and status to databases such as Prometheus and Influx. They have recently been updated, giving more consistent function and a much easier configuration. This post will explore and explain these changes.
For an introduction to these exporters, see some of my earlier posts in this blog.
The Go language and toolchain did not have a good version control system when created. Systems built on Go could not easily define the levels of the dependencies underpinning the system. Various tools were developed to help with that such as dep and glide. But more recently, the Go compiler environment has defined modules as the way forward. The MQ Go packages are now available in a format that works with modules, with a major number version update to match. This post describes what has been done in the core MQ packages.
A separate post talks about changes in the mq-metric-samples repository that exploits these packages and enables monitoring in tools like Prometheus and Influx.
In some earlier posts, here and here, I wrote about how you can use Node.js to write MQ programs. In this post, I’ll show how a feature of the language, Promises, makes it easier to write those MQ programs.
The efficiency of MQ JMS is now improved when used in a Spring Boot application.
The Spring Framework provides simple ways for Java programs to use a variety of interfaces. Its JMS component includes classes that help a program wait for new messages, similar to a Message Driven Bean. The default behaviour of the Spring implementation is known to be non-optimal when working with IBM MQ and I wanted to improve the efficiency.
This article shows recent improvements to Spring Boot and the corresponding MQ JMS Spring Boot component. They remove the need for application developers to know about, and to write code to deal with that inefficiency.
MQ V9.1.4 has just been announced with an updated Bridge for Blockchain component. This is designed to make it very easy to integrate MQ applications with the latest IBM Blockchain service.
This post shows how you can use Grafana to selectively view information about your MQ configuration. Which may sound a little odd. Grafana’s strength is primarily to show statistics and metrics in pretty graphs. So why would we want to use it to look at queue definitions? The answer is that you usually would not! There are many more appropriate tools for displaying and updating the queue manager configuration – even the MQ Explorer or MQ Console are better. But there may be times when a limited set of information may be desirable, so you can link from a graph to a different view, within the same tool.
But another important aspect that I hope this shows is the power of a common data format. The techniques I’ll show here could be used to combine a variety of different tools, and perhaps this will give you some ideas.
Recently, we have been creating and publishing a lot of material to help educate people about MQ. You can find that here.
But how might you have learned about MQ in its early days? While hunting through archives for something that I was, in the end, unable to find, I did come across one piece of education that was created over 20 years ago.