m7kniMQ exporters
Source Download

MQ OpenTelemetry exporter

IBM's upstream mq_otel pushes MQ metrics over OTLP. This community package uses the same pinned IBM tag and vendored dependencies as the Prometheus package, without changing its collector. It is not affiliated with IBM or Grafana Labs and comes without warranty.

Download the separate OpenTelemetry package from GitHub Releases. Do not use the Prometheus archive as an OTel package. Check compatibility before deployment.

Separate downloads

Each package contains mq_otel only, plus its actual upstream configuration reader, installer, diagnostics, notices and metadata. No Prometheus binary or IBM MQ runtime is bundled. Target machines need no compiler, SDK headers or module registry access.

Installation

Use a distinct instance name, for example qm1-otel. The shipped installer defaults to OTel; the shared repository installer requires --exporter otel or -Exporter otel. Choose the version matching your archive and trusted checksum file. For example:

sudo bash install.sh --exporter otel --version "$VERSION" \
  --archive "$ARCHIVE" --checksums SHA256SUMS \
  --instance qm1-otel --qmgr QM1 --service-user mqmon \
  --otlp-endpoint https://otel.example.com:4318

Windows PowerShell 5.1, elevated, with a dedicated account already granted Log on as a service and MQ permissions:

$credential = Get-Credential '.\mqmon'
.\install.ps1 -Exporter otel -Version $Version -Archive $Archive -Checksums .\SHA256SUMS `
  -Instance qm1-otel -QueueManager QM1 -ServiceAccount '.\mqmon' `
  -ServiceCredential $credential -OTLPEndpoint 'https://otel.example.com:4318'

Omit archive/checksum arguments for a versioned online download. Client connection options, private MQ password files, offline verification, backups and configuration preservation follow the Linux and Windows guides. Existing instances cannot silently switch exporter or destination; use a new instance or explicit repoint and configuration replacement. OTel has no listener port; Port is unused.

Receiver and TLS

An https:// URL selects OTLP/HTTP. A host:port, such as otel.example.com:4317, selects OTLP/gRPC with TLS by default. Plaintext requires explicit --otlp-insecure / -OTLPInsecure; use it only for an intentionally unencrypted local receiver. This option disables transport TLS, not just certificate checks. Do not put credentials in endpoint URLs.

The installer configures no cloud account or receiver credentials. Prefer a local OTel Collector for authentication and forwarding. On Linux, upstream environment-based TLS/headers can be supplied through a private systemd EnvironmentFile in an administrator-managed drop-in. Do not put secrets in unit command lines or global PATH. Check certificate/key access under the service's actual identity. The Windows SCM adapter deliberately forwards only its small OS environment allowlist, not OTEL variables: custom OTLP headers and client certificates are not supported through that adapter yet. Use system-trusted TLS without additional authentication, or an explicitly configured local receiver which handles authenticated forwarding.

Validation and behavior

The matching mq-config-check validates through mq_otel's own upstream reader. It proves configuration parsing, not delivery. There is no Prometheus HTTP listener and mq-dist health does not apply. At the receiver, verify fresh ibmmq.* metrics, the exact queue-manager attributes, expected queue names and collection timestamps. Verify MQ connection and queue coverage separately.

The pinned source exits nonzero when the initial MQ connection fails (normally exit 1, not Prometheus's exit 10). systemd and the SCM adapter retry failed starts after 15 seconds. With the MQ 9.3.0.35 trial server, live tests verified actual OTLP/HTTP queue metrics and recovery through the service restart policy after an established MQ connection was lost. This is process restart, not an in-process reconnection guarantee. See compatibility for runtime versions and untested transports.

OTel distinguishes counters and gauges. Metric names and types may be transformed by your receiver, so existing Prometheus dashboards are not automatically compatible. The upstream overrideCType option defaults to false here. The Prometheus scrape job name integrations/ibm-mq is not an OTLP delivery setting.

Community-contributed. Not affiliated with IBM or Grafana Labs. Provided without warranty.
Collector source: IBM MQ metric samples.