m7kniMQ exporters
Source Download

RPM installation

Separate mq-prometheus and mq-otel RPMs wrap the tested Linux archive binaries. Package and repository-metadata signatures use the dedicated project key. There is no public hosted yum repository yet. See the compatibility limits before deploying an RPM.

Download the two RPMs, RPM-GPG-KEY-mq-exporter-dist, RPM-SHA256SUMS and RPM-SHA256SUMS.asc from the v6.0.0 release. The signing-key fingerprint is A3D2 D5D6 8404 A4E6 088E 3B2E B031 8897 DDF2 F968. Verify that fingerprint through a separate trusted copy of this documentation before importing the key.

gpg --show-keys --fingerprint RPM-GPG-KEY-mq-exporter-dist
gpg --import RPM-GPG-KEY-mq-exporter-dist
gpg --verify RPM-SHA256SUMS.asc RPM-SHA256SUMS
sha256sum -c --ignore-missing RPM-SHA256SUMS
sudo rpm --import RPM-GPG-KEY-mq-exporter-dist
rpm --checksig mq-prometheus-6.0.0-6.0.0.mqdist.x86_64.rpm
sudo dnf install ./mq-prometheus-6.0.0-6.0.0.mqdist.x86_64.rpm

Use the mq-otel filename instead to install only the OpenTelemetry exporter. Neither RPM installs or changes Prometheus, Alloy or an OTLP receiver.

Versions and ownership

RPM Version follows IBM's upstream tag. Release identifies this distribution: 6.0.0-6.0.0~rc.1.mqdist packages upstream 6.0.0 from distribution v6.0.0-rc.1. The stable form is 6.0.0-6.0.0.mqdist; RPM sorts the candidate below it. Release numbering follows the exporter source, not the IBM MQ runtime version. These are community packages, not IBM RPMs.

Each product owns its binaries under /usr/libexec/mq-prometheus or /usr/libexec/mq-otel, and its corresponding systemd template under /usr/lib/systemd/system. RPM does not own or overwrite administrator-created instance JSON, account credentials or unit drop-ins. It does not automatically start, enable or restart instances during installation or upgrades.

Do not point the Bash installer at RPM-owned directories. Migration from an archive installation is explicit: preserve its configuration, prepare a separate RPM instance, then stop the old instance before starting the replacement on the same port. Do not run two collectors accidentally against the same instance.

Configure an instance

The existing IBM MQ 9.3.0.27 runtime, a dedicated mqmon account and appropriate MQ permissions remain prerequisites. RPM does not install IBM software, create MQ objects, grant access or alter the firewall. No compiler is required.

For the Prometheus exporter RPM, configure before enabling the service:

umask 077
stage=$(mktemp)
/usr/libexec/mq-prometheus/mq-dist config --qmgr QM1 --port 9157 \
  --queues 'APP.*,!SYSTEM.*,!AMQ.*' > "$stage"
# For a NEW instance only; preserve an existing configuration during upgrades.
test ! -e /etc/mq-prometheus/qm1.json
install -o mqmon -g mqmon -m 0600 "$stage" /etc/mq-prometheus/qm1.json
restorecon /etc/mq-prometheus/qm1.json
runuser -u mqmon -- env LD_LIBRARY_PATH=/opt/mqm/lib64:/usr/lib64:/lib64 \
  /usr/libexec/mq-prometheus/mq-config-check -f /etc/mq-prometheus/qm1.json
systemctl enable --now mq-prometheus@qm1.service

Run configuration steps in a shell that stops on failure (set -e). Remove only the temporary file you created after retaining the installed configuration. Verify exact MQ connection status and queue coverage, not just service state. For OTel use mq-otel, --exporter otel and your --otlp-endpoint; validate fresh queue metrics at that receiver instead of scraping an HTTP listener.

Create separate JSON files and ports for additional queue managers. Use systemctl edit mq-prometheus@qm1.service for another account or MQ library path. Keep passwords out of unit files and use restricted password files. Redistributable clients also need the private data/home setup.

SELinux and updates

Standard vendor paths use the host's SELinux file-context policy. RPM applies labels during transactions; package scriptlets restore labels only on package-owned paths. No custom SELinux policy, port labelling or permissive domain is installed. Administrator-created configuration needs its own correct label and permissions. See SELinux troubleshooting.

Upgrade during a maintenance window and explicitly restart each configured instance afterwards. Removing a package stops/disables its instances but leaves administrator-created configuration in place. It does not touch archive-managed mq-exporter-* services or the other exporter product.

Alloy and Prometheus configuration remain separate examples, never RPM payload or installer-managed state. See monitoring configuration.

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