A few days ago, I had a really clever idea.
At least, it seemed like that at the time. In this post I’ll write about something that didn’t quite pan out as I’d hoped.
Continue reading “Sometimes things don’t work out”Messaging, Music and Moving Around
A few days ago, I had a really clever idea.
At least, it seemed like that at the time. In this post I’ll write about something that didn’t quite pan out as I’d hoped.
Continue reading “Sometimes things don’t work out”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.
Continue reading “Updates for MQ metric exporters”
This post was last updated on November 27th, 2021 at 02:59 pm
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.
Continue reading “A “major” update to the MQ Go package version”This post was last updated on June 4th, 2020 at 09:44 am
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.
Continue reading “Promises from MQ and Node.js”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.
Continue reading “MQ JMS and Spring Boot – improved efficiency”
This post was last updated on March 30th, 2020 at 04:41 pm
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.
Continue reading “MQ Bridge for Blockchain”
This post was last updated on December 6th, 2019 at 08:02 pm
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.
Continue reading “Viewing MQ configurations with Grafana”
This post was last updated on November 25th, 2019 at 02:18 pm
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.
You can now see what it was like in this video.
Just a few thoughts that I had:
I hope you enjoy it.
This post was last updated on November 20th, 2019 at 09:14 pm
In 2016 I wrote about how MQ’s resource statistics can work with a number of time-series databases, including Prometheus. This permits monitoring using the same tools that many customers use for monitoring other products. It allows easy creation of dashboards using tools such as Grafana.
Since that original version, we’ve made a number of enhancements to the packages that underpin that monitoring capability. For example, more database options were added; a JSON formatter appeared. One notable change was when we split the monitoring agent programs into a separate GitHub repository, making it easier to work with just the pieces you needed.
And now, I’ve released some changes that allow Prometheus and generic JSON processors to see some key channel status information. In particular, a Grafana dashboard can easily highlight channels that are not running.
Continue reading “Using Prometheus to monitor MQ channel status”
This post was last updated on November 25th, 2019 at 09:53 am
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 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