URI Structure
Structure of the URI
objects/queueManagerName/objectType/objectName/fields
URI Segment | Description | Wildcards Supported | Wildcard Example |
---|---|---|---|
queueManagerName | Name of the queue manager | YES | .* can be used to select all or part of the queue manager name |
objectType | See DataTypes and Categories | NO | |
objectName | Name of the MQ object. Example Queue Name | YES | .* can be used to select all or part of the object name |
fields | Fields to select separated by a | character | YES | .* can be used to select all fields | can be used as an OR statement to select multiple fields |
Example
The following URI would show the fields CURDEPTH, IPPROCS and OPPROCS for all queues beginning with TEST on all queue managers.
http://localhost:8085/objects/.*/QUEUE_STATUS/TEST.*/CURDEPTH|IPPROCS|IPPROCS
{ "queryTime": 0, "objects": [ { "messageBrokerName": "TEST", "objectName": "TEST.LQ1", "objectType": "QUEUE_STATUS", "entryTime": "25/09/2018 12:58:47 PM", "fields": { "OPPROCS": "0", "IPPROCS": "0", "CURDEPTH": "0" } }, { "messageBrokerName": "TEST", "objectName": "TEST.RESPONSE.Q", "objectType": "QUEUE_STATUS", "entryTime": "25/09/2018 12:58:47 PM", "fields": { "OPPROCS": "0", "IPPROCS": "0", "CURDEPTH": "0" } }, { "messageBrokerName": "TEST", "objectName": "TEST_TOPIC.Q", "objectType": "QUEUE_STATUS", "entryTime": "25/09/2018 12:58:47 PM", "fields": { "OPPROCS": "0", "IPPROCS": "0", "CURDEPTH": "0" } }, { "messageBrokerName": "TEST", "objectName": "TEST.REQUEST.Q", "objectType": "QUEUE_STATUS", "entryTime": "25/09/2018 12:58:47 PM", "fields": { "OPPROCS": "0", "IPPROCS": "0", "CURDEPTH": "0" } } ] }
Mainframe ZOS
RESETQSTATS
ObjectType | Category | Log File | URL | Operating System |
---|---|---|---|---|
RESETQSTATS | STATS_MESSAGE | statsData.log | ZOS Only |
Sample JSON Data
{ "queryTime": 0, "objects": [ { "messageBrokerName": "DEMO", "objectName": "QUEUE1", "objectType": "RESETQSTATS", "className": "java.lang.Integer", "eventUid": "9fac0871-7e1d-4a4e-b195-30026c878753", "entryTime": "29/04/2016 2:27:53 PM", "fields": { "date": "2016-04-29", "queueTimeAverage": "12265", "QSGDISP": "QMGR", "putMsgs": "23", "getMsgs": "23", "epoch": "1461904073", "QUEUE": "QUEUE1", "getMsgsPerSec": "0", "queueTime": "6462", "MQBACF_RESPONSE_ID": "c3e2d840d4d8c4f1404040d9d4d8c4f1d0aa85996e6fc748", "maxQueueDepth": "0", "putMsgsPerSec": "0", "MQCACF_RESPONSE_Q_MGR_NAME": "DEMO", "interval": "83", "msgAge": "0" } } ] }
STORAGE_CLASS
ObjectType | Category | Log File | URL | Operating System |
---|---|---|---|---|
STORAGE_CLASS | OBJECT_CONFIG | objectData.log | ZOS Only |
Sample JSON Data
{ "queryTime": 0, "objects": [ { "messageBrokerName": "MQZOS", "objectName": "SYSLNGLV", "objectType": "STORAGE_CLASS", "className": "java.lang.Integer", "entryTime": "02/05/2016 4:07:42 PM", "fields": { "PAGESET_TOTAL_PAGES": "569483", "QSGDISP": "QMGR", "PASS_TICKET_APPL": "", "PAGESET_EXPAND_COUNT": "0", "XCF_MEMBER_NAME": "", "PAGESET_UNUSED_PAGES": "556352", "RESPONSE_ID": "c3e2d840d4d8c4f1404040d9d4d8c4f1d3956de58293922a", "PAGESET_ID": "1", "PAGESET_STATUS": "AVAILABLE", "COMMANDLEVEL": "800", "PLATFORM": "ZOS", "PAGESET_USED_PAGES": "13131", "PAGESET_PERSIST_PAGES": "11329", "ALTDATE": "2011-08-02", "PAGESET_PERCENT_USED": "2.31", "STGCLASS": "SYSLNGLV", "ALTTIME": "12.55.34", "XCF_GROUP_NAME": "", "PAGESET_NONPERSIST_PAGES": "1802", "PAGESET_EXPAND_TYPE": "1", "QMNAME": "MQD1", "DESCR": "" } } ] }
PAGESET_USAGE
ObjectType | Category | Log File | URL | Operating System |
---|---|---|---|---|
PAGESET_USAGE | STATUS | statusData.log | ZOS Only |
Sample JSON Data
{ "queryTime": 0, "objects": [ { "messageBrokerName": "MQD1", "objectName": "1", "objectType": "PAGESET_USAGE", "className": "java.lang.Integer", "entryTime": "14/12/2017 5:05:43 PM", "fields": { "USAGE_TYPE": "1168", "UNUSED_PAGES": "556353", "RESPONSE_ID": "c3e2d840d4d8c4f1404040d9d4d8c4f1d3956f5562c0bc1c", "PAGESET_ID": "1", "EXPAND_COUNT": "0", "PERSIST_PAGES": "11329", "BUFFER_POOL_ID": "1", "COMMANDLEVEL": "800", "PLATFORM": "ZOS", "STATUS": "AVAILABLE", "TOTAL_PAGES": "569483", "EXPAND_TYPE": "1", "QMNAME": "MQD1", "NONPERSIST_PAGES": "1801" } }] }
SYSTEM
ObjectType | Category | Log File | URL | Operating System |
---|---|---|---|---|
SYSTEM | OBJECT_CONFIG | objectData.log | http://host:8085/objects/{QMGR}/SYSTEM | ZOS Only |
Sample JSON Data
{ "queryTime": 0, "objects": [ { "messageBrokerName": "MQD1", "objectName": "MQD1", "objectType": "SYSTEM", "className": "java.lang.Integer", "entryTime": "14/12/2017 4:48:52 PM", "fields": { "OPERATION_MODE": "0 701", "CCSID": "0", "DB2_BLOB_TASKS": "4", "SMF_ACCOUNTING": "YES", "RESLEVEL_AUDI": "YES", "ROUTING_CODE": "1", "TRACE_SIZE": "99", "QSG_NAME": "", "PLATFORM": "ZOS", "WLM_INT_UNITS": "0", "OTMA_MEMBER": "", "OTMA_DRU_EXIT": "DFSYDRU0", "MULC_CAPTURE": "STANDARD", "CMD_USER_ID": "MXMQSER1", "SMF_STATS": "YES", "OTMA_GROUP": "", "OTMA_TPIPE_PREFIX": "CSQ", "EXIT_TASKS": "8", "Q_INDEX_DEFER": "NO", "TRACE_CLASS": "", "MAX_ACE_POOL": "0", "RESPONSE_ID": "c3e2d840d4d8c4f1404040d9d4d8c4f1d3956b911c31ff24", "WLM_INTERVAL": "30", "DB2_NAME": "", "CLUSTER_CACHE": "DYNAMIC", "CONNECTION_SWAP": "YES", "DSG_NAME": "", "DB2_TASKS": "4", "EXCL_OPERATOR_MESSAGES": "", "SPLCAP": "NOT_SUPPORTED", "COMMANDLEVEL": "800", "SYSP_TYPE": "10", "CHKPOINT_COUNT": "500000", "OTMA_INTERVAL": "2147483647", "SMF_INTERVAL": "30", "EXIT_INTERVAL": "30", "QMNAME": "MQD1" } }] }
LOG
ObjectType | Category | Log File | URL | Operating System |
---|---|---|---|---|
LOG | OBJECT_CONFIG | objectData.log | http://host:8085/objects/{QMGR}/LOG | ZOS Only |
Sample JSON Data
{ "queryTime": 0, "objects": [ { "messageBrokerName": "MQD1", "objectName": "MQD1", "objectType": "LOG", "className": "java.lang.Integer", "entryTime": "14/12/2017 5:16:02 PM", "fields": { "DUAL_ACTIVE": "0", "DUAL_ARCHIVE": "0", "MQIACF_AUTH_REC_TYPE": "31", "RESPONSE_ID": "c3e2d840d4d8c4f1404040d9d4d8c4f1d39571a4443c7588", "OUT_BUFFER_SIZE": "4000", "OUT_BUFFER_COUNT": "20", "LOG_COMPRESSION": "0", "COMMANDLEVEL": "800", "PLATFORM": "ZOS", "IN_BUFFER_SIZE": "60", "MAX_READ_TAPES": "3", "DUAL_BSDS": "NO", "SYSP_TYPE": "10", "ARCHIVE": "1", "DEALLOC_INTERVAL": "0", "QMNAME": "MQD1", "MAX_ARCHIVE": "500" } }] }
Field Values
https://www.ibm.com/support/knowledgecenter/en/SSFKSJ_9.0.0/com.ibm.mq.ref.adm.doc/q087690_.htm
Field Names | Description |
---|---|
messageBrokerName | Queue manager name |
objectName | ChannelName |
objectType | The Objects data type |
className | Internal use only |
entryTime | The time the Lamaxu agent captured the metric data |
DUAL_ACTIVE | Specifies whether dual logging is being used. YES|NO |
DUAL_ARCHIVE | Specifies whether dual archive logging is being used. YES|NO |
OUT_BUFFER_SIZE | Specifies the size of output buffer storage for active and archive log data sets. |
OUT_BUFFER_COUNT | Specifies the number of output buffers to be filled before they are written to the active log data sets. |
LOG_COMPRESSION | Specifies which log compression parameter is used. |
COMMANDLEVEL | MQ manager version |
PLATFORM | Operating environment of the queue manager |
IN_BUFFER_SIZE | Specifies the size of input buffer storage for active and archive log data sets. |
DUAL_BSDS | Specifies whether dual BSDS is being used. YES|NO |
SYSP_TYPE | |
ARCHIVE | Specifies whether archiving is on or off. YES|NO |
DEALLOC_INTERVAL | Specifies the length of time, in minutes, that an allocated archive read tape unit is allowed to remain unused before it is deallocated. The value can be in the range zero through 1440. If it is zero, the tape unit is deallocated immediately. If it is 1440, the tape unit is never deallocated. |
QMNAME | Queue manager name |
MAX_ARCHIVE | Specifies the maximum number of archive log volumes that can be recorded in the BSDS. |
Q_STATISTICS
ObjectType | Category | Log File | URL | Operating System |
---|---|---|---|---|
STATISTICS | STATS_MESSAGE | statsData.log | http://host:8085/objects/{QMGR}/Q_STATISTICS | All NON-ZOS |
Sample JSON Data
{ "queryTime": 0, "objects": [ { "messageBrokerName": "TEST", "objectName": "REQUEST.Q", "objectType": "Q_STATISTICS", "entryTime": "14/12/2017 5:25:33 PM", "fields": { "getMsgsPersist": "0", "reason": "NONE", "purgedMsgs": "0", "endDate": "2017-12-14", "type": "GROUP", "getMsgsPerSec": "2.48", "maxQueueDepth": "51", "browseMsgsPersist": "0", "avgQtimeNonPersist": "13630", "qmgrCommandLevel": "903", "putDateTime": "Thu, 14 Dec 2017 15:34:09 PM", "getMsgsPerSecPersist": "0.00", "TYPE": "QLOCAL", "getBytesPersist": "0", "getFailed": "0", "getBytesNonPersist": "172616", "put1Failed": "0", "browseMsgsNonPersist": "0", "putMsgsPerSecPersist": "0.00", "strucLength": "16", "version": "VERSION_3/CURRENT_VERSION", "putMsgsNonPersist": "149", "compCode": "OK", "expiredMsgs": "0", "putBytesNonPersist": "172616", "browseBytesPersist": "0", "interval": "60", "QMNAME": "TEST", "startDate": "2017-12-14", "getMsgsNonPersist": "149", "objectCount": "15", "getMsgsPerSecNonPersist": "2.48", "CRTIME": "10.37.10", "string": "15.34.09", "browsesFailed": "0", "putBytesPersist": "0", "putMsgsPerSec": "2.48", "msgSeqNumber": "1", "parameter": "Q_STATISTICS_DATA", "startTime": "15.33.09", "codedCharSetId": "0", "stringLength": "8", "value": "15", "CRDATE": "2017-12-14", "avgQtimePersist": "0", "parameterCount": "22", "putMsgsPerSecNonPersist": "2.48", "control": "LAST", "QUEUE": "REQUEST.Q", "browseBytesNonPersist": "0", "put1MsgsNonPersist": "0", "msgsNotQueued": "11", "Command": "STATISTICS_Q", "DEFTYPE": "TEMPDYN", "putsFailed": "0", "put1MsgsPersist": "0", "endTime": "15.34.09", "minimumQueueDepth": "0", "putMsgsPersist": "0" } }] }
Using CURL
Example;
Curl command not surrounded with echo -en “$()”
curl --silent --header "Accept: application/json" -u admin:password http://localhost:8085/objects/TEST/SUBSCRIPTION/.*/SELECTOR
$ curl --silent --header "Accept: application/json" -u admin:password http://localhost:8085/objects/TEST/SUBSCRIPTION/.*/SELECTOR { "queryTime": 0, "objects": [ { "messageBrokerName": "TEST", "objectName": "TestSub", "objectType": "SUBSCRIPTION", "entryTime": "28/05/2018 11:07:57 AM", "fields": { "SELECTOR": "EAI_method \u003d \u0027notifyStatusChange\u0027 AND EAI_mandant \u003d \u0027000\u0027 AND EAI_routingCode LIKE \u0027%O%\u0027" } } ] }
Same curl command surrounded with echo -en “$()”
$ echo -en "$(curl --silent --header "Accept: application/json" -u admin:password http://localhost:8085/objects/TEST/SUBSCRIPTION/.*/SELECTOR)"
$ echo -en "$(curl --silent --header "Accept: application/json" -u admin:password http://localhost:8085/objects/TEST/SUBSCRIPTION/.*/SELECTOR)" { "queryTime": 0, "objects": [ { "messageBrokerName": "TEST", "objectName": "TestSub", "objectType": "SUBSCRIPTION", "entryTime": "28/05/2018 11:06:27 AM", "fields": { "SELECTOR": "EAI_method = 'notifyStatusChange' AND EAI_mandant = '000' AND EAI_routingCode LIKE '%O%'" } } ] }