IBM MQ Monitoring
IBM MQ Components
There are following IBM MQ components with specific purposes:
- QAManager: Manages the associated resources
- PCFMessageAgent: Executes the queries to the queue manager connected
- PCFMessage: Represents PCF request and response
The details of these components are provided in subsequent topics.
A queue manager manages the resources associated with it, in particular the queues that it owns. It provides queuing services to applications for Message Queuing Interface (MQI) calls and commands to create, modify, display, and delete Web Sphere MQ. It is a general-purpose agent for sending PCF queries to a queue manager.
It maintains a single queue manager connection and provides a simple method for sending PCF requests and returning the set of response messages.
A PCFMessage typically represents a PCF request or response or an event message, which consists of an MQCFH header followed by a set of PCFParameter structures (type MQCFIN, MQCFIL, MQCFST and so on).
IBM MQ Monitor
IBM MQ Monitor makes connection to IBM MQ Queue Manager. To connect with IBM MQ Manager following are the options:
- Local connection: To make local connection with Queue manager, monitor should be run with same user, as IBM MQ is running (for example: mqm) or running monitor should have all permission to access queue manager.
- Remote connection: To make remote connection with Queue manager, monitor should be configured with user name and password. User name and password will be that through which IBM MQ is running.
When connection is established with queue manager, PCFMessageAgent is created from queue manager (purpose of this agent is to execute the queries to the queue manager connected). Then monitor check status of given queue (which are required to monitoring) and capture performance metrics for respective queue. IBM MQ Monitor only supports local and alias queue. Monitor, via PCFMessageAgent, queries following commands.
- MQCMD_INQUIRE_Q: Request the command server to inquire about the queue.
- MQCMD_INQUIRE_Q_STATUS: Finds out the status and type of queue.
- MQCMD_RESET_Q_STATUS: This command reports the performance data for a queue and resets the performance data.
IBMMQ Channel Stats
Cavisson captures below IBM MQ channel metrics:
|Channel Byte Sent/Sec||Number of message bytes sent per second over channel.|
|Channel Byte Received/Sec||Number of message bytes received per second over channel.|
|Channel Buffers Sent/Sec||Number of buffers sent per second over channel.|
|Channel Buffers Received/Sec||Buffers received per second over channel.|
|Channel Messages/Sec||Number of messages per second.|
|Channel Status||Current state of the channel with following status. Status would be 0 = “Inactive”, 1 = “Binding”, 2 = “Starting”, 3 = “Running”, 4 = “Stopping”, 5 = “Retrying”, 6 = “Stopped”, 7 = “Requesting”, 8 = “Paused”, 13 = “Initializing”, 14= “Switching”.|
IBMMQ Listener Stats
Cavisson captures below IBM MQ listener metrics:
|Listener Status||Current state of the Listener with following status. Status would be 1 = “starting”, 2 = “Running”, 3 = “Stopping”.|
IBMMQ Qmanager Stats
Cavisson captures below IBM MQ QManager metrics:
|Queue Manager Status||Current state of the queue manager with following status. Status would be 1 = “Starting”, 2 = “Running”, 3 = “quiescing”.|
IBMMQ Queue Stats
Cavisson captures below IBM MQ queue metrics:
|Maximum Message Size (Bytes)||Maximum Message Size in Bytes|
|Maximum Queue Depth||Maximum Queue Depth|
|Open Input Count||Current count of open input handles. Input handles are opened so that an application may PUT messages to a queue|
|Open Output Count||Current count of open output handles. Output handles are opened so that an application may GET messages from a queue|
|Message Dequeue Count/second||Rate of messages coming off the queue|
|Message Enqueue Count/second||Rate of messages coming on to the queue|
|Number Of Uncommitted Changes||Number of messages currently uncommitted on the queue|
|Current Queue Depth||Current count of messages on a local queue. This measurement applies only to local queues of the monitored queue manager|
|Queue Full (%)||How full is the queue as a percentage|