IBM MQ
Introduction
IBM MQ provides a universal messaging backbone with robust connectivity for flexible and reliable messaging for applications and the integration of existing IT assets using a service-oriented architecture. It works in multiple modes of operations including point-to-point, publish/subscribe, and file transfer. Applications can also publish messages to many subscribers over multicast.
Getting Started
Compatibility
The IBM Websphere MQ O11ySource is compatible with all versions equal to or greater than 9.3.0.0
Data Collection Method
vuSmartMaps collects health and performance data from IBM MQ using VuNet’s vuAppAgent. This data collector collects data based on the source configuration. IBM MQ logs are collected by VuNet's vuLogAgent agent
Prerequisites
Dependent Configuration
To configure this O11ySource, create a 'credential' of type 'user' under the 'Definition' tab.
Inputs for Configuring Data Source
- IBM MQ Server: The IP Address/FQDN of the IBM MQ server. This field is the key to identify each server you add here.
- Queue Manager Name: The name of the Queue Manager (QManager) that needs to be monitored.
- Port: The port which connects to queues and channels of IBM MQ Server.
- Channel Name: The name of the channel that the QManager is listening on.
- IBM MQ Credential: Credential that reflect that user name and password of IBM MQ server.
- Period [in seconds]: How frequently data is gathered. The period should be between 60 seconds to 3000 seconds.
- Log Configuration: Enter the log configuration
- IBM Websphere MQ Error Log Path: Enter the IBM Websphere MQ error logfile's entire path.
Firewall Requirement
To collect data from this O11ySource, ensure the following ports are opened:
| Source IP | Destination IP | Destination Port | Protocol | Direction |
|---|---|---|---|---|
| IP address of the IBM MQ server | Data Collector End Point | 9092* | TCP | Inbound |
*Before providing the firewall requirements, please update the port based on the customer environment.
Configuring the Target
vuAppAgent and vuLogAgent should be running in the server where IBM Websphere is configured.
Configuration Steps
Enablethe IBM MQ O11ySource.- Select the Sources tab and press the
+button to add a new IBM MQ host to be monitored. - Set up metrics and log collection configurations. Afterwards, select
Save and Continueto proceed with downloading the agents. - The following packages will be available for download based on the OS:Download <OS> vuAppAgent Installation Binary - Downloads the full vuAppAgent package with required configurations for a fresh installationDownload <OS> vuAppAgent Update Configuration Binary - Downloads the agent configuration package to update an existing vuAppAgent installationDownload <OS> vuLogAgent Installation Binary - Downloads the full vuLogAgent package with required configurations for a fresh installationDownload <OS> vuLogAgent Update Configuration Binary - Downloads the agent configuration package to update an existing vuLogAgent installation
- Download the agent installation or update package, then click
Finishto close the data source window.
Metrics Collected
| Name | Description | Data Type |
|---|---|---|
| MQIACH_HB_INTERVAL | Heartbeat interval for the channel | UInt16 |
| MQIA_MONITORING_CHANNEL | Indicates whether channel monitoring is enabled | UInt8 |
| target | Target destination or system for monitoring | String |
| Time | Timestamp of the event or metric capture | String |
| ChannelStatus | Current status of the channel | UInt8 |
| MQIACH_STOP_REQUESTED | Indicates if a stop has been requested for the channel | UInt8 |
| MQIACH_EXIT_TIME_INDICATOR | Time indicator for channel exit | Array(UInt8) |
| ConnectionName | Name of the connection | String |
| MQIACH_SECURITY_PROTOCOL | Security protocol used by the channel | UInt8 |
| MQCACH_MCA_JOB_NAME | Name of the MCA (Message Channel Agent) job | String |
| ChannelStartTime | Start time of the channel | String |
| MQCACH_SSL_CIPHER_SPEC | SSL cipher specification used by the channel | String |
| BuffersSent | Number of buffers sent by the channel | UInt32 |
| MQIACH_MAX_SHARING_CONVS | Maximum number of sharing conversations allowed | UInt8 |
| DisplayName | Display name for the metric or channel | String |
| MQIACH_MCA_STATUS | Status of the Message Channel Agent (MCA) | UInt8 |
| MQIACH_SSL_KEY_RESETS | Number of SSL key resets | UInt8 |
| MQCACH_LOCAL_ADDRESS | Local address of the channel | String |
| ChanneSubState | Sub-state of the channel | UInt16 |
| MQIACH_BYTES_RCVD/MQIACH_BYTES_RECEIVED | Number of bytes received by the channel | UInt32 |
| MQCACH_SSL_SHORT_PEER_NAME | Short name of the SSL peer | String |
| LastMessageDate | Date of the last message processed | Date |
| Messages | Number of messages processed | UInt32 |
| QmgrName | Name of the Queue Manager | String |
| MQIACH_COMPRESSION_TIME | Time taken for message compression | Array(UInt8) |
| MQCACH_SSL_KEY_RESET_TIME | Time of the last SSL key reset | String |
| Host | Hostname or IP address of the server | String |
| MQCACH_MCA_USER_ID | User ID of the MCA | String |
| MQCACH_REMOTE_VERSION | Version of the remote system | String |
| MQIACH_HDR_COMPRESSION | Header compression algorithm used | Array(UInt8) |
| MQCACH_REMOTE_APPL_TAG | Tag of the remote application | String |
| MQCACH_SSL_CERT_ISSUER_NAME | Issuer name of the SSL certificate | String |
| ChannelName | Name of the channel | String |
| MQCACH_SSL_KEY_RESET_DATE | Date of the last SSL key reset | String |
| StatisticType | Type of statistic | String |
| MQIACH_CHANNEL_INSTANCE_TYPE | Type of channel instance | UInt16 |
| LastMessageTime | Time of the last message processed | String |
| BytesSent | Number of bytes sent by the channel | UInt32 |
| MQIACH_BUFFERS_RCVD/MQIACH_BUFFERS_RECEIVED | Number of buffers received by the channel | UInt32 |
| CurrentNoOfCoversations | Current number of conversations | UInt8 |
| MQIACH_MSG_COMPRESSION | Message compression algorithm used | Array(UInt8) |
| MQIACH_COMPRESSION_RATE | Rate of compression | Array(UInt8) |
| ChannelType | Type of channel | UInt8 |
| ChannelStartDate | Start date of the channel | Date |
| MQCACH_REMOTE_PRODUCT | Name of the remote product | String |
| @timestamp | Event timestamp | String |
| timestamp | High-precision timestamp | DateTime64 |
| target | Target destination or system for monitoring | String |
| QmgrStartTime | Start time of the Queue Manager | String |
| ConnectionCount | Number of active connections to the Queue Manager | UInt32 |
| QmgrName | Name of the Queue Manager | String |
| StatisticType | Type of statistic being recorded | String |
| QmgrStartDate | Start date of the Queue Manager | Date |
| DisplayName | Display name for the metric or Queue Manager | String |
| Host | Hostname or IP address of the server | String |
| Time | Timestamp of the event or metric capture | String |
| QmgrStatus | Status of the Queue Manager | UInt8 |
| @timestamp | Event timestamp | String |
| timestamp | High-precision timestamp | DateTime64 |
| QueueDepthLowThreshold% | Percentage threshold for low queue depth | UInt8 |
| LastAlteredDate | Date when the queue was last altered | String |
| MQCA_CLUS_CHL_NAME | Cluster channel name | String |
| MQCA_Q_DESC | Description of the queue | String |
| MQIA_DEF_PUT_RESPONSE_TYPE | Default put response type | Int8 |
| MQIA_STATISTICS_Q | Indicates if statistics collection is enabled for the queue | Int8 |
| QueueType | Type of the queue | UInt8 |
| MQIA_Q_DEPTH_MAX_EVENT | Indicates if max depth event is enabled | UInt8 |
| MQIA_MONITORING_Q | Indicates if queue monitoring is enabled | Int8 |
| MQIA_Q_DEPTH_HIGH_EVENT | Indicates if high queue depth event is enabled | UInt8 |
| MQIA_HARDEN_GET_BACKOUT | Indicates if hardened backout is enabled | UInt8 |
| MQIA_MSG_DELIVERY_SEQUENCE | Sequence of message delivery | UInt8 |
| MQIA_TRIGGER_MSG_PRIORITY | Priority of messages that trigger | UInt8 |
| MQIA_SHAREABILITY | Indicates if the queue is shareable | UInt8 |
| MQIA_BACKOUT_THRESHOLD | Threshold for message backout | UInt8 |
| QmgrName | Name of the Queue Manager | String |
| MQIA_TRIGGER_TYPE | Type of trigger associated with the queue | UInt8 |
| MQIA_DEF_READ_AHEAD | Default read-ahead setting | UInt8 |
| MQIA_NPM_CLASS | Non-persistent message class | UInt8 |
| MQIA_RETENTION_INTERVAL | Retention interval for messages | UInt32 |
| StatisticType | Type of statistic | String |
| MQIA_INHIBIT_GET | Indicates if get operations are inhibited | UInt8 |
| MQIA_ACCOUNTING_Q | Indicates if accounting is enabled for the queue | Int8 |
| MQIA_TRIGGER_CONTROL | Trigger control setting | UInt8 |
| target | Target destination or system for monitoring | String |
| MQIA_Q_SERVICE_INTERVAL_EVENT | Indicates if a service interval event is enabled for the queue | UInt8 |
| Time | Timestamp of the event or metric capture | String |
| MQIA_PROPERTY_CONTROL | Control setting for queue properties | UInt8 |
| MQCA_CREATION_TIME | Time when the queue was created | String |
| MQCA_INITIATION_Q_NAME | Name of the initiation queue for a trigger | String |
| MaxQueueDepth | Maximum depth of the queue | UInt32 |
| MQCA_PROCESS_NAME | Name of the process associated with the queue | String |
| MQCA_TRIGGER_DATA | Data associated with the trigger | String |
| DisplayName | Display name for the metric or queue | String |
| QueueName | Name of the queue | String |
| MQIA_DEF_PRIORITY | Default priority for messages placed on the queue | UInt8 |
| MQIA_DEF_PERSISTENCE | Default persistence setting for messages on the queue | UInt8 |
| MQIA_Q_DEPTH_LOW_EVENT | Indicates if a low queue depth event is enabled | UInt8 |
| MQIA_TRIGGER_DEPTH | Depth at which a trigger event is generated | UInt8 |
| MQCA_CREATION_DATE | Date when the queue was created | String |
| MQIA_USAGE | Queue usage setting | UInt8 |
| Host | Hostname or IP address of the server | String |
| MaxMessageLength | Maximum length of messages allowed on the queue | UInt32 |
| MQCA_BACKOUT_REQ_Q_NAME | Name of the backout queue associated with the queue | String |
| MQIA_DEFINITION_TYPE | Type of queue definition | UInt8 |
| MQIA_Q_SERVICE_INTERVAL | Interval at which queue services are performed | UInt32 |
| MQIA_DEF_INPUT_OPEN_OPTION | Default open option for input on the queue | UInt8 |
| MQIA_INHIBIT_PUT | Inhibit put setting for the queue | UInt8 |
| QueueDepthHighThreshold% | Percentage threshold for high queue depth | UInt8 |
| LastAlteredTime | Time when the queue was last altered | String |
| MQCA_CUSTOM | Custom attribute associated with the queue | String |
| MQIA_DIST_LISTS | Indicates if distribution lists are enabled for the queue | UInt8 |
| CurrentQueueDepth | Current depth of the queue | UInt32 |
| OldestMessageAge | Age of the oldest message on the queue | Int32 |
| OpenOutputCount | Number of open output handles on the queue | UInt32 |
| OpenInputCount | Number of open input handles on the queue | UInt32 |
| UncommittedMessages | Number of uncommitted messages on the queue | UInt32 |
| LastPutDate | Date when the last message was put on the queue | String |
| LastPutTime | Time when the last message was put on the queue | String |
| LastGetDate | Date when the last message was retrieved from the queue | String |
| LastGetTime | Time when the last message was retrieved from the queue | String |
| MQCA_CLUSTER_NAME | Name of the cluster | String |
| MQCA_CLUSTER_NAMELIST | List of cluster names for the queue | String |
| MQCACF_MEDIA_LOG_EXTENT_NAME | Name of the media log extent | String |
| MQIA_CLWL_Q_PRIORITY | Cluster workload management (CLWL) queue priority | UInt64 |
| MQIA_CLWL_Q_RANK | Cluster workload management (CLWL) queue rank | UInt64 |
| MQIA_CLWL_USEQ | Indicates if the queue is a currently used queue | Int64 |
| MQIA_DEF_BIND | Default binding setting for the queue | UInt64 |
| MQIACF_Q_STATUS_TYPE | Type of status reported for the queue | UInt64 |
| OnQTime | Time a message spends on the queue | Array(Int64) |
| MQIA_SCOPE | Scope setting for the queue | UInt64 |
| @timestamp | Event timestamp | String |
| DeviceType | Type of device generating the metric | String |
| timestamp | High-precision timestamp | DateTime64 |
| target | Target system or destination for logging | String |
| file | File path where the log is stored | String |
| host | Hostname or IP address of the server where the log is collected | String |
| type | Type of log entry (e.g., error, info, warning) | String |
| instance | Name of the application or system instance | String |
| errorCode | Error code indicating an issue in the system | String |
| errorCodeDetails | Detailed description of the error code | String |
| PIDTID | Process ID and Thread ID associated with the log entry | String |
| ProgramName | Name of the program that generated the log entry | String |
| version | Version of the application or system generating the log | String |
| hostname | Name of the host machine where the log was recorded | String |
| Username | User responsible for generating the log entry or causing the error | String |
| AMPM | Indicates AM or PM in timestamp | String |
| ArithInsert | Additional details on the error and authentication issues | String |
| ActionDetails | Suggested actions or troubleshooting steps for resolving the error | String |
| ExplainationDetails | Explanation of the error and its cause | String |
| time | Timestamp when the log entry was created | String |
| @timestamp | Event timestamp in string format | String |
| timestamp | High-precision timestamp for logging | DateTime64 |
| message | Log message containing details about the event | String |
| qmgr | Name of the Queue Manager associated with the log entry | String |
