---
title: Find and query your IBM MQ data in New Relic
source: https://docs.newrelic.com/docs/opentelemetry/integrations/ibm-mq/view-data
---

Once the collector is running and data is flowing, you can view your IBM MQ metrics in New Relic, query them with NRQL, build dashboards, and set up alerts. Each queue manager appears as an `IBMMQ_MANAGER` entity (keyed as `target.name:qmgr`) with its queues as child `IBMMQ_QUEUE` entities.

## View your IBM MQ data in New Relic [#find-data]

After a few minutes, IBM MQ metrics appear in New Relic. The pipeline preserves the raw Prometheus shape — underscore metric names (`ibmmq_*`) and the raw `qmgr` and `queue` labels — and stamps a `target.name` identity onto every metric, which New Relic uses to synthesize the entities.

**Through the entity explorer**

1.  Go to [one.newrelic.com](https://one.newrelic.com) > **All entities**.
2.  Filter for `IBMMQ_MANAGER` and `IBMMQ_QUEUE`, or search for a queue manager name.
3.  Open a queue manager to see its golden metrics — connections, put/get message rates — and its pre-built IBM MQ dashboard, with its queues listed as related entities.

**Through the IBM MQ dashboard**

When you open an `IBMMQ_MANAGER` entity, New Relic shows a pre-built dashboard summarizing queue manager health, connections, message throughput, errors, and file-system usage. Open an `IBMMQ_QUEUE` entity for per-queue depth, message age, and throughput. You can also build your own — see [Create custom dashboards](#dashboards).

To troubleshoot any data visibility issues, refer to [Troubleshooting](https://docs.newrelic.com/docs/opentelemetry/integrations/ibm-mq/troubleshooting) documentation.

## Query your data with NRQL [#query-data]

> #### 💡 TIP
>
> Query metrics by their underscore names and raw labels — `ibmmq_qmgr_status`, `ibmmq_queue_depth`, `qmgr`, `queue`. The metric names are **not** dotted and the `qmgr` label is **not** renamed, so NRQL written against `ibmmq.*` or `ibmmq.queue_manager.name` will not match.

| Use case                                                                                 | Query                                                                                                                                                                                              |
| ---------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| To confirm data is flowing to every IBM MQ metric                                        | ```sql FROM Metric SELECT count(*) WHERE metricName LIKE 'ibmmq_%' SINCE 30 minutes ago ```                                                                                                        |
| To count the queue managers reporting (each becomes one `IBMMQ_MANAGER` entity)          | ```sql FROM Metric SELECT uniqueCount(qmgr) WHERE metricName LIKE 'ibmmq_%' FACET target.name SINCE 30 minutes ago ```                                                                             |
| To view queue manager status (`2` = running), one row per queue manager                  | ```sql FROM Metric SELECT latest(ibmmq_qmgr_status) FACET qmgr SINCE 30 minutes ago ```                                                                                                            |
| To view channel status (`3` = running)                                                   | ```sql FROM Metric SELECT latest(ibmmq_channel_status) FACET qmgr, channel SINCE 30 minutes ago ```                                                                                                |
| To view current depth of every monitored queue                                           | ```sql FROM Metric SELECT latest(ibmmq_queue_depth) FACET qmgr, queue SINCE 30 minutes ago ```                                                                                                     |
| To view dead-letter queue depth across the fleet as a common alert signal                | ```sql FROM Metric SELECT latest(ibmmq_queue_depth) WHERE queue = 'SYSTEM.DEAD.LETTER.QUEUE' FACET qmgr SINCE 30 minutes ago ```                                                                   |
| To view queue throughput, puts and gets per minute. This requires MQI statistics enabled | ```sql FROM Metric SELECT rate(sum(ibmmq_queue_mqput_count), 1 minute) AS 'Puts/min', rate(sum(ibmmq_queue_mqget_count), 1 minute) AS 'Gets/min' FACET qmgr, queue TIMESERIES SINCE 1 hour ago ``` |

To browse entities directly, go to **All entities** in the New Relic UI and filter for your `IBMMQ_MANAGER` and `IBMMQ_QUEUE` entities, or open a queue manager from any of the queries above.

## Create custom dashboards [#dashboards]

To build your own IBM MQ dashboard:

1.  Go to [one.newrelic.com](https://one.newrelic.com) > **Dashboards** and click **Create a dashboard**.
2.  Add a widget, choose **Add a chart**, and paste any of the [NRQL queries above](#query-data).
3.  Group widgets by focus area for an at-a-glance view:
    -   **Queue manager health** — `ibmmq_qmgr_status`, `ibmmq_qmgr_connection_count`, `ibmmq_channel_status`
    -   **Queue depth and backlog** — `ibmmq_queue_depth`, `ibmmq_queue_oldest_message_age`, `ibmmq_queue_uncommitted_messages`
    -   **Throughput** — `ibmmq_queue_mqput_count`, `ibmmq_queue_mqget_count` (charted as a rate)
    -   **Capacity** — `ibmmq_qmgr_log_in_use_bytes`, `ibmmq_qmgr_queue_manager_file_system_in_use_bytes`

## Set up alerts [#alerts]

Create [NRQL alert conditions](https://docs.newrelic.com/docs/alerts/create-alert/create-alert-condition/create-nrql-alert-conditions/) on the `ibmmq_*` metrics to catch problems before they affect the applications that depend on your messaging.

The following table shows recommended IBM MQ alert conditions:

| Alert                             | NRQL query                                                                                                                             | Recommended threshold                                               |
| --------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- |
| Queue manager not running         | ```sql FROM Metric SELECT latest(ibmmq_qmgr_status) FACET qmgr, target.name ```                                                        | Critical when the value is not equal to `2` for at least 2 minutes. |
| Channel not running               | ```sql FROM Metric SELECT latest(ibmmq_channel_status) FACET qmgr, channel ```                                                         | Critical when the value is not equal to `3` for at least 5 minutes. |
| Queue filling toward its maximum  | ```sql FROM Metric SELECT latest(ibmmq_queue_depth) / latest(ibmmq_queue_attribute_max_depth) * 100 AS 'Depth %' FACET qmgr, queue ``` | Warning at `80%`, critical at `95%`.                                |
| Messages on the dead-letter queue | ```sql FROM Metric SELECT latest(ibmmq_queue_depth) WHERE queue = 'SYSTEM.DEAD.LETTER.QUEUE' FACET qmgr ```                            | Critical when the value is greater than `0`.                        |

## Related documentation [#related-docs]

[Kubernetes instrumentation for IBM MQ](https://docs.newrelic.com/docs/opentelemetry/integrations/ibm-mq/kubernetes)

Learn how to set up your IBM MQ for Kubernetes monitoring in New Relic.

[Metrics reference](https://docs.newrelic.com/docs/opentelemetry/integrations/ibm-mq/metrics)

Learn about the IBM MQ metrics collected by New Relic.

[Troubleshooting](https://docs.newrelic.com/docs/opentelemetry/integrations/ibm-mq/troubleshooting)

Learn how to troubleshoot IBM MQ monitoring in New Relic.
