Troubleshooting

URLs used for IBM MQ Software Monitoring

LOGIN API

Authenticate with the IBM MQ REST API to initiate a session and receive a session cookie.

curl -X POST -D '/home/ruser/<IPADDRESS>-ibmmq.txt' -H "Content-Type: application/json; charset=UTF-8" -k -d '{"username": "<USERNAME>", "password":"<PASSWORD>"}' https://<IPADDRESS>:<PORT>/ibmmq/rest/v1/login
</code>

ClassName: CustomQmgr

Retrieve information about all custom queue managers.

curl -X GET -b '/home/ruser/<IPADDRESS>-ibmmq.txt' -H "Content-Type: application/json; charset=UTF-8" -k https://<IPADDRESS>:<PORT>/ibmmq/rest/v1/admin/qmgr

curl -X GET -b '/home/ruser/<IPADDRESS>-ibmmq.txt' -H "Content-Type: application/json; charset=UTF-8" -k https://<IPADDRESS>:<PORT>/ibmmq/rest/v1/admin/qmgr/<QMGR_NAME>?status=*

ClassName: CustomQueue

Access local queues of a specific queue manager.

curl -X GET -b '/home/ruser/<IPADDRESS>-ibmmq.txt' -H "Content-Type: application/json; charset=UTF-8" -k https://<IPADDRESS>:<PORT>/ibmmq/rest/v1/admin/qmgr/<QMGR_NAME>/queue?type=local

curl -X GET -b '/home/ruser/<IPADDRESS>-ibmmq.txt' -H "Content-Type: application/json; charset=UTF-8" -k https://<IPADDRESS>:<PORT>/ibmmq/rest/v1/admin/qmgr/<QMGR_NAME>/queue/<QUEUE_NAME>?type=local&attributes=storage&status=*

ClassName: CustomChannel

Monitor defined channels and retrieve their current operational status for a given queue manager.

curl -X GET -b '/home/ruser/<IPADDRESS>-ibmmq.txt' -H "Content-Type: application/json; charset=UTF-8" -k https://<IPADDRESS>:<PORT>/ibmmq/rest/v1/admin/qmgr/<QMGR_NAME>/channel

curl -X GET -b '/home/ruser/<IPADDRESS>-ibmmq.txt' -H "Content-Type: application/json; charset=UTF-8" -k https://<IPADDRESS>:<PORT>/ibmmq/rest/v1/admin/qmgr/<QMGR_NAME>/channel/<CHANNEL_NAME>?status=currentStatus

Note: Replace the appropriate IP address, username, password, port, <QMGR_NAME>, <QUEUE_NAME>, <CHANNEL_NAME>, and any other required fields in the commands above, then execute the CURL commands.

Flags

  1. Login to the Gateway and then type gcli.
  2. Enable the below flag and analyze the /var/log/app/vprobe.log file.

Following are the list of flags:

flag add ibmmq.collector.api.response.stats on 30
flag add ibmmq.collector.request.status on 30
flag add ibmmq.collector.api.response.stats.each on 30
flag add ibmmq.collector.api.response on 30
flag add ibmmq.collector.login on 30
flag add ibm.mq.call.collectmondata on 30
flag add ibmmq.collector.add.whennull on 30
flag add ibmmq.collector.add.whennotnull on 30
flag add ibmmq.collector.metrics.data on 30
flag add ibmmq.print.instances on 30
flag add print.collected.data.info on 30
flag add ibmmq.collector.qmgr.queue.instances.before on 30
flag add ibmmq.collector.qmgr.queue.instances on 30
flag add ibmmq.collector.add.whennull on 30
flag add ibmmq.collector.add.whennotnull on 30
flag add queue.depth.percentage.log on 30
flag add ibm.mq.process.instance.data on 30
flag add ibmmq.get.instances on 30
flag add ibmmq.get.instances.else on 30
flag add ibmmq.get.instances.outer.else on 30
flag add ibmmq.collector.detailed.log.messages on 30
flag add ibmmq.monitor.executor on 30
flag add queue.depth.percentage.maxdepthzero.log on 30

Verify whether the monitor is REST API-based or SNMP-based.

To identify the type of monitor:

  1. Navigate to Setup → Monitoring → Monitor.

  2. Search for the monitor and check the adapter type and application.

    • If the Adapter Type is Application and Application is IBM MQ then it is REST API-based monitor. 
    • If the Adapter Type is SNMP then it is SNMP-based monitor.

Rest API-based monitoring (IBM MQ Software)

  1. Verify whether device is reachable from gateway and able to perform telnet to the configured port.

    Syntax: ping <ipaddress>
    Example: ping 1.2.3.4

    Syntax: telnet <ipaddress:port>
    Example: telnet <1.2.3.4 1111>  

  2. Check whether there are any authentication alerts
    (metric: ibm.mq.auth.error) on the device.

  3. Make sure the credentials are working. You can cross-check whether credentials are working or not, using the above LOGIN API CURL command.

  4. Hit the above CURL Commands from gateway to verify whether you are able to get data response from end device or not.

  5. You can also debug the issue by enabling the flags listed above.
    Refer Flags and wait for sometime and analyze the /var/log/app/vprobe.log file.

SNMP-based Monitoring (IBM MQ Appliance)

  1. Verify whether device is reachable from gateway.

  2. Check for any credential-related alerts (metric: snmp.response.timeout) on the device.

  3. Make sure the credentials are working fine from gateway by performing manual snmpwalk.
    Refer How to execute SNMPWALK for more information.

  4. To check if any metric is not collecting data:

    1. Navigate to Setup → Monitoring → Monitors and search for the respective monitor.
    2. Go to the metric in the monitor and find the OID being used.
    3. Hit the snmpwalk from the gateway with that respective OID and check whether you are able to get response or not.

  5. Enable the below flag and analyze the /var/log/app/vprobe.log file.

    flag add snmp.log on 30