IBM MQ Cluster and Monitor

Check queue manager and cluster status

1
2
3
4
5
6
7
8
9
10
11
DISPLAY QMSTATUS ALL

DIS QMGR
DIS CHL(CCM.APP.SVRCONN) all

DISPLAY CLUSQMGR(*) QMTYPE SSLPEER STATUS
** Full Repository
DISPLAY CLUSQMGR(*) WHERE(QMTYPE EQ REPOS)

-- Partial Repository
DISPLAY CLUSQMGR(*) WHERE(QMTYPE EQ NORMAL)

Check channel / queue / listener status

1
2
3
4
5
6
DISPLAY CHSTATUS('XXX.APP.SVRCONN') MONITOR

DISPLAY QSTATUS('XXX.YYY.Q') MONITOR CURDEPTH
DISPLAY QSTATUS(XXX.YYY.Q) TYPE(HANDLE)

DISPLAY LSSTATUS(*) ALL

Enable monitor

1
2
3
ALTER QMGR MONQ(HIGH)
ALTER QMGR STATQ(ON)
ALTER QMGR MONCHL(HIGH)

Check cluster queue

1
2
DISPLAY QCLUSTER(*) all
DISPLAY QUEUE(STD*) CLUSINFO

Refresh cluster (Run in PR)

1
2
REFRESH CLUSTER(MYCLUS)
REFRESH CLUSTER(MYCLUS) REPOS(YES)

Test sending message

1
2
3
4
5
6
7
8
9
export MQSAMP_USER_ID=mquser
export MQCCDTURL=/tmp/mqtest/ccdt.json
export MQSSLKEYR=/tmp/mqtest/qm

** browser message
/opt/mqm/samp/bin/amqsbcgc XXX.YYY.Q TEST_QM <<< 'passw0rd'

** consume message
/opt/mqm/samp/bin/amqsghac XXX.YYY.Q TEST_QM

Resolve in-doubt transaction (typically happen in application throw error in receive message)

1
2
3
dspmqtrn -m TEST_QM
rsvmqtrn -m TEST_QM -a
rsvmqtrn -m TEST_QM -b 0,1

Test SSL config

/opt/mqm/samp/bin/amqssslc -m TEST_QM -c XXX.APP.SVRCONN -x localhost -s TLS_AES_128_GCM_SHA256