Diagnostic message logging
The diagnostic message logs of IBM® MQ are a mechanism, to allow various components of the IBM MQ system, to report diagnostic messages relating to IBM MQ configuration and runtime state changes and issues.
- Queue Managers
- IBM MQ Clients
- The remainder of the IBM MQ system
- AMQERRnn log files
- JSON formatted log files
- Syslog in JSON format
JSON output by IBM MQ is formatted as single line JSON objects, such that each individual line of the JSON log, or Syslog record, represents a valid JSON object. The log as a whole is not encapsulated as a single JSON object.
The following illustration shows that queue managers, IBM MQ clients, and the IBM MQ system can all report diagnostic messages using the methods described.
How IBM MQ diagnostics logs are configured:
- The size of log files to wrap on, before rollover will occur; not applicable to Syslog
- Any filtering based on the severity of the log messages, and
- Any specific message codes to suppress.
- JSON format makes for easier parsing through automated tooling in local and Cloud environments.
- Syslog output allows IBM MQ components to integrate diagnostics information into a common OS logging location in line with other products on the system.
- Log end points filtered based on severity allowing for particular log files to record, for example, only severe errors in the system.
Regardless of the style of diagnostics logging configured, the traditional diagnostics files held under the IBM MQ system log directory (/var/mqm/errors/AMQERRnn.log) and specific queue manager log directory (/var/mqm/qmgrs/<qmgr_name>/errors/AMQERRnn.log) are always written to, in addition to any other logging configuration used.
For queue managers only, optional configuration of these mandatory logs can be performed by specifying attributes of the Diagnostic message service stanzas.
Different stanza areas
- Qmgr(qm.ini)
- Applies to log message generated by the queue manager
- System(mqs.ini)
- Applies to log messages generated by the system. This option is not specific to a queue manager, except when a queue manager cannot access or write to its own logs.
- Templates(mqs.ini)
- One or more stanzas as templates, which are copied to qm.ini when a queue manager is created.
- Client(mqclient.ini)
- Applies to client operation, for example runmqsc in client mode to a remote queue manager.
Converting between JSON formatted and traditionally formatted logs
The mqrc command has been enhanced to allow a number of conversions between JSON and traditionally formatted logs, and between different languages.