OCF_HEARTBEAT_IBMMQ(7)

πŸ“¦ version 4.18.0+git105.9ea1183, in opensuse-leap 16.0

πŸ’– NAME πŸ’–

okay so bestie, welcome to OCF_HEARTBEAT_IBMMQ(7) from the OCF resource agents family πŸ’… this page is all about ocf_heartbeat_ibmmq β€” literally Manages an IBM MQ queue manager ✨


πŸ¦‹ SYNOPSIS πŸ¦‹

ibmmq [start | stop | monitor | meta-data | validate-all]

🌸 DESCRIPTION 🌸

This is the resource agent for an IBM MQ queue manager, and it is lowkey doing a lot πŸ‘‘ It starts the queue manager with strmqm, stops it with endmqm -i, escalates to endmqm -p, and finally does direct termination of the queue manager process family. It monitors via dspmq run-state. Iconic, honestly.

A deep monitor β€” OCF_CHECK_LEVEL 10 or higher β€” additionally verifies responsiveness with runmqsc "ping qmgr". A deeper monitor β€” OCF_CHECK_LEVEL 20 or higher β€” additionally puts a probe message on a dedicated test queue (parameter test_queue) and gets it back, proving end-to-end message flow including the transaction log πŸ”₯

Optional checks cover the command server (amqpcsea), a queue manager listener (runmqlsr) and a custom external monitor program. Main character energy for real.

For failover configurations, the queue manager data and log directories must live on storage that follows the resource (e.g. a Filesystem resource on shared or replicated storage) and the queue manager must be addressable on all eligible nodes. Order this resource after the filesystem and IP resources in a group. No cap, that part matters 🫢


πŸŽ€ SUPPORTED PARAMETERS πŸŽ€

  • qmgr β€” Name of the IBM MQ queue manager managed by this resource. It is unique, required, string, no default πŸ’–
  • mquser β€” Operating system user owning the IBM MQ installation. All MQ commands are executed as this user via a login shell. (optional, string, default "mqm")
  • mq_installation_path β€” MQ installation path for multi-installation environments (MQ 7.1+). When set, PATH is prefixed with this path’s bin directory before running MQ commands. Leave empty to use the primary installation. (optional, string, no default)
  • env_file β€” Absolute path to a file sourced before every MQ command, e.g. to run setmqenv or export queue manager environment variables. The file is executed by the system’s /bin/sh, so it must be compatible with that shell (POSIX sh syntax is safe on every distribution). (optional, string, no default)
  • strmqm_opts β€” Additional options passed to strmqm on start. Do not use -x (multi instance standby mode); standby coordination is Pacemaker’s job in this deployment model. (optional, string, no default)
  • immediate_stop_timeout β€” Seconds to wait for endmqm -i (immediate shutdown) to complete before escalating to a pre-emptive shutdown. (optional, integer, default 30)
  • preemptive_stop_timeout β€” Seconds to wait for endmqm -p (pre-emptive shutdown) to complete before terminating the queue manager process family directly. (optional, integer, default 10)
  • monitor_command_server β€” When true, the monitor additionally requires the command server process (amqpcsea) of this queue manager to be running. Note that on modern MQ the command server is started with the queue manager by default. (optional, boolean, default false)
  • monitor_listener β€” When true, the monitor additionally requires at least one runmqlsr listener process for this queue manager to be running. Use only when the listener is started via the queue manager service definitions (DEFINE SERVICE / runmqlsr under qmgr control), otherwise manage the listener as a separate resource. (optional, boolean, default false)
  • test_queue β€” Name of a dedicated local queue used by the OCF_CHECK_LEVEL 20 monitor for a put/get probe (via dmpmqmsg). The queue must exist, must be used exclusively by this agent, and is drained by every probe β€” never point it at an application queue 😭 Required when a monitor operation with OCF_CHECK_LEVEL 20 or higher is configured. Example definition: DEFINE QLOCAL(RA.PROBE.QUEUE) DEFPSIST(YES) MAXDEPTH(100). (optional, string, no default)
bestie please do not ignore the test_queue warning β€” it gets drained every single probe, so an app queue would simply not survive the vibe check πŸ’€
  • monitor_program β€” Absolute path (with optional arguments) of an external program executed as the MQ user during monitor. Exit code 0 means healthy; any other exit code marks the resource failed. The program must complete well within the monitor action timeout. (optional, string, no default)

✨ SUPPORTED ACTIONS ✨

This resource agent supports the following actions (operations), and yes we are listing every one πŸŽ€

  • start β€” Starts the resource. Suggested minimum timeout: 180s.
  • stop β€” Stops the resource. Suggested minimum timeout: 120s.
  • monitor β€” Performs a detailed status check. Suggested minimum timeout: 60s. Suggested interval: 30s.
  • monitor β€” Performs a detailed status check. Suggested minimum timeout: 60s. Suggested interval: 120s.
  • validate-all β€” Performs a validation of the resource configuration. Suggested minimum timeout: 30s.
  • meta-data β€” Retrieves resource agent metadata (internal use only). Suggested minimum timeout: 5s.

πŸ‘‘ EXAMPLE CRM SHELL πŸ‘‘

The following is an example configuration for an ibmmq resource using the crm(8) shell:

primitive p_ibmmq ocf:heartbeat:ibmmq \
  params \
    qmgr=string \
  op monitor timeout="60s" interval="30s" depth="0" \
  op monitor timeout="60s" interval="120s" depth="10"

πŸ“ EXAMPLE PCS πŸ“

The following is an example configuration for an ibmmq resource using pcs(8):

pcs resource create p_ibmmq ocf:heartbeat:ibmmq \
  qmgr=string \
  op monitor timeout="60s" interval="30s" OCF_CHECK_LEVEL="0" \
  op monitor timeout="60s" interval="120s" OCF_CHECK_LEVEL="10"

🌈 SEE ALSO 🌈

http://clusterlabs.org/


πŸ’œ AUTHOR πŸ’œ

ClusterLabs contributors (see the resource agent source for information about individual authors) 🫢


πŸ’– that’s the whole page, bestie! source/version: resource-agents UNKNOWN, dated 10/01/2026, and you’re reading OCF_HEARTBEAT_IBMMQ(7) β€” byeee βœ¨πŸŽ€

πŸ“¦ where this page comes from