Retaining MFT log messages

Managed File Transfer sends file transfer progress and log information to the coordination queue manager. The coordination queue manager publishes this information to any matching subscriptions to the SYSTEM.FTE topic. If there are no subscriptions, this information is not retained.

If transfer progress or log information is significant to your business, you must take one of the following steps to ensure that the information is retained:
  • Use the Managed File Transfer database logger to copy messages published to the SYSTEM.FTE/Log topic to an Oracle or Db2® database.
  • Define a subscription to the SYSTEM.FTE topic, which stores publications on an IBM® MQ queue. Define this subscription before transferring any file transfers to ensure that all progress and log messages are retained on the queue.
  • Write an application that uses the message queue interface (MQI) or IBM MQ JMS to create a durable subscription and process the publications that are delivered to the subscription. This application must be in operation before any files are transferred to ensure that the application receives all progress and log messages.
Each of these approaches is described in more detail in the sections that follow.

Do not rely on the IBM MQ Explorer plug-in to retain log information.

Using the Managed File Transfer database logger to retain log messages

The database logger is an optional component of Managed File Transfer that you can use to copy log information in to a database for analysis and auditing purposes. The database logger is a stand-alone Java application that you install on a system that hosts the coordination queue manager and the database. For more information about the database logger, see Configuring an MFT logger.

Retaining progress and log messages by using the IBM MQ Explorer plugin

When an instance of the IBM MQ Explorer plug-in is first started, the instance creates a durable subscription on the coordination queue manager. This durable subscription is used to collect the information that is displayed in the Transfer Log and Current Transfer Progress views.

The name of the durable subscription is prefixed to show that the subscription was created by the IBM MQ Explorer MFT plugin, the host name, and the name of the user, for example MQExplorer_MFT_Plugin_HOST_TJWatson.

This prefix is added in case an administrator wants to delete a durable subscription that is no longer in active use by an instance of the IBM MQ Explorer plugin.

Using a durable subscription on the coordination queue manager can cause messages to build up on the SYSTEM.MANAGED.DURABLE queues. If you have a high-volume Managed File Transfer network, use the IBM MQ Explorer plug-in infrequently, or both, this message data can fill the local file system.

To stop this from happening, you can specify that the IBM MQ Explorer plug-in use a non-durable subscription to the coordination queue manager. Perform the following steps in your IBM MQ Explorer:
  1. Select Window > Preferences > MQ Explorer > Managed File Transfer
  2. From the Transfer Log subscription type list, choose NON_DURABLE.

Storing publications on an IBM MQ queue

To store log or progress messages on an IBM MQ queue, configure a subscription on the coordination queue manager that forwards messages to this queue. For example, to forward all log messages to a queue named LOG.QUEUE, submit the following MQSC command:

define sub(MY.SUB) TOPICSTR('Log/#') TOPICOBJ(SYSTEM.FTE) DEST(LOG.QUEUE)WSCHEMA(TOPIC)

After the log messages have been forwarded to an IBM MQ queue, they are persisted on the queue until they are processed by an IBM MQ application that uses the queue.

Writing applications that manage a durable subscription to the SYSTEM.FTE topic

You can write applications that manage their own durable subscriptions to the SYSTEM.FTE topic by using one of the application programming interfaces supported by IBM MQ. These applications can receive IBM MQ queue or log messages and act on them appropriately for your business needs.

For more information about the available application programming interfaces, see Developing applications.