Public preview
This feature is currently a public preview.
Our IBM MQ integration collects and sends dimensional metrics from IBM MQ.
You can view this metric data in pre-built dashboards, create alert policies, and create custom queries and charts.
Dashboard installed through the New Relic IBM MQ Monitor quickstart.
The integration obtains data by scraping the IBM MQ API through a Prometheus exporter.
Important
The IBM MQ integration doesn't support ARM64 architecture.
To install the IBM MQ monitoring integration, run through the following steps:
Compatibility and requirements
IBM MQ versions
Our integration is compatible with IBM MQ 9.0 or higher.
Supported operating systems
Linux
Windows
For a comprehensive list of specific Linux and Windows versions, check the table of compatible operating systems.
Important
ARM64 architecture is not supported.
System requirements
- Install the infrastructure agent, minimum version 1.24.0.
- Linux distribution or Windows version compatible with the infrastructure agent.
- IBM MQ Redistributable Client libraries on the agent box.
- Check or add the libraries path in the
LD_LIBRARY_PATH
environment variable in Linux or follow these steps on Windows. - Ensure queue statistics monitoring is enabled on MQ.
- Create a user in MQ with read only permissions.
Install and activate
To install the integration, follow the instructions for your environment:
Other environments
Did this doc help with your installation?
Configure the integration
To configure the integration, edit the config in the integration's YAML config file, ibmmq-config.yml
. An integration's YAML-format configuration is where you can place required login credentials and configure how data is collected. Which options you change depend on your setup and preference. The configuration file has common settings applicable to all integrations.
To read all about these common settings, refer to our configuration format document.
IBM MQ instance settings
The following configuration options are available:
Setting | Description | Default |
---|---|---|
hostname | Hostname of the IBM MQ service | N/A |
port | Port of the IBM MQ service | N/A |
queue_manager | Queue Manager name | N/A |
channel | Channel name used to connect to the queue manager. Typically you can use | N/A |
username | Username to authenticate to IBM MQ service. If the password is not specified, user/password authentication is disabled and the username should not be specified in the configuration.
The exporter will connect sending as | N/A |
password | Password to authenticate to IBM MQ service | N/A |
monitored_queues | Queues to monitor (wildcards and ! to exclude are accepted) | N/A |
monitored_channels | Channels to monitor (wildcards and ! to exclude are accepted) | N/A |
monitored_topics | Topics to monitor (wildcards and ! to exclude are accepted) | N/A |
monitored_subscriptions | Subscriptions to monitor (wildcards and ! to exclude are accepted) | N/A |
exporter_port | Port to expose scrape endpoint on, If this is not provided a random port will be used to launch the exporter | random-port |
scrape_timeout | Time until a scrape request times out | 5s |
mqsslkeyr | Needed to configure TLS
MQSSLKEYR specifies the location of the keystore that holds the digital certificate belonging to the user or to the server.
It should be specified without the extension to point to both | N/A |
ccdt_url | Needed to configure TLS Path to the ccdt file. Two different environment variable will be set automatically: MQCCDTURL and IBMMQ_CONNECTION_CCDTURL. | N/A |
home | IBMMQ Client needs permissions to write in a directory specified in the HOME environment variable. | N/A |
ld_library_path | LD_LIBRARY_PATH environment variable for the IBMMQ Client used by the exporter. | N/A |
ibmmq-config.yml sample files
Find and use data
- The New Relic IBM MQ Monitor quickstart is available through Instant Observability (I/O). It provides a dashboard that lets you easily explore your data, understand context, and resolve problems faster.
- For more on how to find and use your data, see Understand integration data.
- Metrics are attached to the Metric sample and event types of the entities
IBMMQ_MANAGER
andIBMMQ_QUEUE
. - You can query New Relic's data for troubleshooting purposes, or to create custom charts and dashboards.
Metric data
Two entities are created: IBMMQ_MANAGER
and IBMMQ_QUEUE
.
The following dimensional metrics are captured scraping the exporter and linked to the entity IBMMQ_MANAGER
:
Name | Description | Dimensions |
---|---|---|
| Buffers rcvd |
|
| Buffers sent |
|
| Bytes rcvd |
|
| Bytes sent |
|
| Channel Instance Type |
|
| Messages (API Calls for SVRCONN) |
|
|
| |
| Channel Status - Simplified |
|
| Channel Substate |
|
| Time Since Msg |
|
| Channel Type |
|
| Alter durable subscription count |
|
| Channel Initiator Status |
|
| Command Server Status |
|
| Commit count |
|
| Concurrent connections - high water mark |
|
| Connection Count |
|
| CPU load - fifteen minute average |
|
| CPU load - five minute average |
|
| CPU load - one minute average |
|
| Create durable subscription count |
|
| Create non-durable subscription count |
|
| Delete durable subscription count |
|
| Delete non-durable subscription count |
|
| Durable subscriber - high water mark |
|
| Durable subscriber - low water mark |
|
| Expired message count |
|
| How many resource publications processed |
|
| Failed browse count |
|
| Failed create/alter/resume subscription count |
|
| Failed MQCB count |
|
| Failed MQCLOSE count |
|
| Failed MQCONN/MQCONNX count |
|
| Failed MQGET - count |
|
| Failed MQINQ count |
|
| Failed MQOPEN count |
|
| Failed MQPUT count |
|
| Failed MQPUT1 count |
|
| Failed MQSET count |
|
| Failed MQSUBRQ count |
|
| Failed topic MQPUT/MQPUT1 count |
|
| Got non-persistent messages - byte count |
|
| Got persistent messages - byte count |
|
| Interval total destructive get - byte count |
|
| Interval total destructive get- count |
|
| Interval total MQPUT/MQPUT1 byte count |
|
| Interval total MQPUT/MQPUT1 count |
|
| Interval total topic bytes put |
|
| Log - current primary space in use |
|
| Log file system - bytes in use |
|
| Log file system - bytes max |
|
| Log - bytes in use |
|
| Log - logical bytes written |
|
| Log - bytes max |
|
| Log - physical bytes written |
|
| Log - workload primary space utilization |
|
| Log - write latency |
|
| Log - write size |
|
| MQ errors file system - free space |
|
| MQ errors file system - bytes in use |
|
| MQ FDC file count |
|
| MQ trace file system - free space |
|
| MQ trace file system - bytes in use |
|
| MQCB count |
|
| MQCLOSE count |
|
| MQCONN/MQCONNX count |
|
| MQCTL count |
|
| MQDISC count |
|
| MQINQ count |
|
| MQOPEN count |
|
| MQSET count |
|
| MQSTAT count |
|
| MQSUBRQ count |
|
| Non-durable subscriber - high water mark |
|
| Non-durable subscriber - low water mark |
|
| Non-persistent message browse - byte count |
|
| Non-persistent message browse - count |
|
| Non-persistent message destructive get - count |
|
| Non-persistent message MQPUT count |
|
| Non-persistent message MQPUT1 count |
|
| Non-persistent - topic MQPUT/MQPUT1 count |
|
| Persistent message browse - byte count |
|
| Persistent message browse - count |
|
| Persistent message destructive get - count |
|
| Persistent message MQPUT count |
|
| Persistent message MQPUT1 count |
|
| Persistent - topic MQPUT/MQPUT1 count |
|
| Published to subscribers - byte count |
|
| Published to subscribers - message count |
|
| Purged queue count |
|
| Put non-persistent messages - byte count |
|
| Put persistent messages - byte count |
|
| Queue Manager file system - free space |
|
| Queue Manager file system - bytes in use |
|
| RAM free percentage |
|
| RAM total bytes |
|
| RAM total bytes - estimate for queue manager |
|
| Resume durable subscription count |
|
| Rollback count |
|
| Queue Manager Status |
|
| Subscription delete failure count |
|
| System CPU time - percentage estimate for queue manager |
|
| System CPU time percentage |
|
| Topic MQPUT/MQPUT1 interval total |
|
| Up time |
|
| User CPU time - percentage estimate for queue manager |
|
| User CPU time percentage |
|
| Messages Received |
|
| Time Since Message Received |
|
| Subscription Type |
|
| Received Messages |
|
| Number of publishers |
|
| Number of subscribers |
|
| Time Since Msg |
|
The following dimensional metrics are captured scraping the exporter and linked to the entity IBMMQ_QUEUE
:
Name | Description | Dimensions |
---|---|---|
| Queue Max Depth |
|
| Queue Usage |
|
| average queue time |
|
| queue avoided bytes |
|
| queue avoided puts |
|
| Queue depth |
|
| destructive MQGET fails |
|
| destructive MQGET fails with MQRC_NO_MSG_AVAILABLE |
|
| destructive MQGET fails with MQRC_TRUNCATED_MSG_FAILED |
|
| destructive MQGET non-persistent byte count |
|
| destructive MQGET non-persistent message count |
|
| destructive MQGET persistent byte count |
|
| destructive MQGET persistent message count |
|
| messages expired |
|
| Input Handles |
|
| lock contention |
|
| MQCLOSE count |
|
| MQGET browse fails |
|
| MQGET browse fails with MQRC_NO_MSG_AVAILABLE |
|
| MQGET browse fails with MQRC_TRUNCATED_MSG_FAILED |
|
| MQGET browse non-persistent byte count |
|
| MQGET browse non-persistent message count |
|
| MQGET browse persistent byte count |
|
| MQGET browse persistent message count |
|
| MQGET byte count |
|
| MQGET count |
|
| MQINQ count |
|
| MQOPEN count |
|
| MQPUT byte count |
|
| MQPUT/MQPUT1 count |
|
| MQPUT non-persistent message count |
|
| MQPUT persistent message count |
|
| MQPUT1 non-persistent message count |
|
| MQPUT1 persistent message count |
|
| MQSET count |
|
| non-persistent byte count |
|
| Oldest Message |
|
| Input Handles |
|
| persistent byte count |
|
| queue purged count |
|
| Queue File Current Size |
|
| Queue File Maximum Size |
|
| Queue Time Long |
|
| Queue Time Short |
|
| rolled back MQGET count |
|
| rolled back MQPUT count |
|
| Time Since Get |
|
| Time Since Put |
|
| Uncommitted Messages (Count) |
|
Check the source code
This integration is open source software. This means you can browse its source code and send improvements, or create your own fork and build it.
Moreover, this integration leverages an opensource exporter created by the community.