IBM MQ
  • 26 Apr 2024
  • 6 Minutes to read
  • Dark
    Light
  • PDF

IBM MQ

  • Dark
    Light
  • PDF

Article Summary

IBM MQ is a messaging middleware that allows applications to communicate with each other asynchronously across different platforms, systems, and programming languages. Its robustness, reliability, and security make it suitable for various business uses across different industries.

Monitoring IBM MQ is essential for promptly identifying real time issues such as prolonged queue length, delivery failures of messages etc. Early detection of these issues helps administrators act fast to stop them causing problems for the business.

In this section, we will take a detailed look at how to monitor IBM MQ. Monitoring a queue involves creating the rules for settings the alert thresholds. With BizTalk360, you can monitor the health of the queue as well as other parameters associated with the queue. The other parameters include Current Queue Depth, Backout queue Depth, Current Queue usage, Backout Queue Usage, and Message Age.

  1. Log in to the BizTalk360 application.
  2. Select the 'Environment'.
  3. Click 'Monitoring' in the navigation panel.
  4. Click the expand button against the 'Manage Mapping' and select 'Queues.'
  5. Select the Alarm name (see Manage Alarms) from the drop-down, which you would like to associate the queue for monitoring.
  6. Click the 'IBM MQ' tab to automatically list out all the Send Ports/Receive Locations which are using the MQSC adapter or the MQSeries adapter.

Configure IBM MQ for Monitoring

To Monitor an IBM MQ, the system needs certain information. By following these steps, you can ensure that BizTalk360 has the necessary details to monitor IBM MQ.

  • Queue Manager Name - This option specifies the Queue Manager name that is responsible for transferring data to another queue manager via message channels. It’s a logical container for the message queue.
  • Queue Name - This option specifies the message queue name.
  • Channel Name - This option specifies the channel name which is responsible for communicating between two queue managers. IBM MQ uses message channels to transfer messages between queue managers.
  • Connection Name - This attribute is the communication connection identifier.
  • Transport Type - Currently BizTalk360 supports TCP type only.
  • User ID - The name of the user who has the authority to perform any operation on the queue. While creating a user in Computer Management, use a name with less than 8 characters.
  • Password - User password
  • SSL Cipher Specification - Every MQ Channel definition includes the SSLCIPH attribute. The value is a string with a maximum length of 32 characters. SSL Cipher specification is optionally.
  • SSL Peer Name - Peer name specifies the SSL Peer Name used on the channel. The SSL Peer attribute is used to check the Distinguished Name (DN) of the certificate from the peer queue manager or client at the other end of an IBM® WebSphere® MQ channel.
  • Message Age Units - This metric configuration allows you to choose the time parameter (Day/Hour/Minutes/Seconds) for finding the duration of existing messages in the queue.
  • After providing all the necessary details, click 'Save' to save the monitoring for the queue.
Points To Remember:
  • If you are using MQSeries Adapter or MQSC Adapter with Client Channel Definition File, then you will need to manually enter the Channel Name, the Connection Name, the User Id, and the Password.
  • If you are using MQSC Adapter, BizTalk360 will automatically fetch all the details from the BizTalk admin console. You just need to enter the Authentication details

Editing the Monitoring Rules

BizTalk360 allows users to modify the configured rules from the monitor results blade. For instance, the user wants to add a sub-condition to the existing rule condition.

Follow the steps as shown below to edit the rule information.

  • In the grid, click the row against the queue you wish to edit.
  • The configuration blade will be opened.
  • Edit the rules as per your requirements. In this case, you can click the icon at the end of the condition to add an operator.
  • Select the operator and enter the values.
  • Click 'Save' to update the monitoring for the queue.

Use Service Account Credentials for Monitoring

To monitor IBM MQ, users had to give their service account details manually for every single queue. When dealing with lots of IBM queues, user might find difficult to provide account details for each one by hand. It would be easier if the system could automatically grab these details from somewhere. So, we have added an option in system settings where users can enter their credentials. 

Navigate to Settings->System Settings->Global Configurations-> update service account credentials , this details will be used for queue communication.

Then, in the IBMMQ configuration, there's a check box "Use Service Account Credentials" added. By enabling this check box, the system will automatically use the credentials updated in the settings . If users prefer to provide the credentials manually, they can still type in the credentials without enabling the check the box.

Common IBM MQ Connection Errors and What to Do About Them?

In a multi-Server setup, users may encounter errors when configuring BizTalk360 to monitor IBM MQ queues from a different server. Consequently, the queue becomes orphaned and generates an error code indicating the reason for the connection failure. User can view the error code by hovering over the warning icon near the Port name.


Let's explore some of the frequently encountered errors and their possible causes:

IBM MQ names are case-sensitive, so always ensure that the provided values in BizTalk360 match exactly with those in MQ Explorer. 
It is recommended to use capital letters for the Channel Name in both the MQ Server and BizTalk360

1. 2538 – MQRC_HOST_NOT_AVAILABLE (or) AMQ40594

This error occurs when a connection call from the client to a queue manager fails to allocate a conversation to the remote system.

Possible reasons include:

  • Incorrect Connection Name specified in BizTalk360. Ensure the Connection Name containing Host or IP address along with the Port number is provided in the following format: HostName(PortNumber) For e.g. BTSKOVAI(1420).
  • The Listener corresponding to the configured Connection Name is not started on the remote system. Ensure that the respective TCP Listener is started and running.
  • Network unavailability or firewall blocking the port or protocol-specific traffic.

2. 2035 – MQRC_NOT_AUTHORIZED (or) AMQ4036

This error suggests that the connection made to the listener found a channel of the requested name but the user account attempting to access the Queue Manager is blocked.

  • Verify the configured user account and password is valid.
  • Ensure the configured user account has Administrator access and is added under the "mqm" group.
  • Another possible scenario is that the default channel authentication record added in the queue manager is restricting the user's access to the Queue Manager. To check this, open MQ Explorer in the MQ Server, then follow these steps:
    • Open the Queue Manager.
    • Click on Channels.
    • Navigate to Channel Authentication Records.

If there is a default channel authentication record named "Block User List" containing the User List as "*MQADMIN", then this rule is likely blocking the user account from connecting with the queue manager. To resolve this issue, you can either disable the "Block User List" rule if your organization allows it and it won't have any impact on disabling this rule, or you can add a new Channel Authentication Record that allows the user account to access the Queue Manager.

3. 2059 – MQRC_Q_MGR_NOT_AVAILABLE

This error indicates that the configured Queue Manager is not available for connection. Check the Queue Manager, Connection Name, and Listener Name is valid and same as in MQ Server.

4. 2085 – MQRC_UNKNOWN_OBJECT_NAME 

This error occurs when the specified Queue name is wrong, or the Queue is not available in the Queue Manager. Ensure the Queue is available with the same name in the Queue Manager.


Was this article helpful?

What's Next
ESC

Eddy, a super-smart generative AI, opening up ways to have tailored queries and responses