MFT logger configuration properties

The Managed File Transfer logger has a set of configuration properties. Specify these properties in the logger.properties file, which is in the MQ_DATA_PATH/mqft/config/coordination_qmgr_name/loggers/logger_name directory.

For IBM® WebSphere MQ Version 7.5, or later, there is the ability for environment variables to be used in some Managed File Transfer properties that represent file or directory locations. This allows the locations of files or directories that are used when running parts of the product, to vary depending on environment changes, such as which user is running the process. For more information, see The use of environment variables in MFT properties.

Note: When you specify file paths on Windows, the backslash (\) separator character must appear as double backslashes (\\) (that is, escaped \). Alternatively, we can use a single forward slash character (/) as a separator. For more information about character escaping in Java properties files in Oracle, see Javadoc for the Properties class.


Bindings mode connection properties

Table 1. Connection properties for bindings mode
Property name Description Default value
wmqfte.logger.type The logger type in use: file, or database. Set this value to FILE, or DATABASE. No default value
wmqfte.max.transaction.messages The maximum number of messages that is processed in a transaction before the transaction is committed. In circular logging mode, a queue manager has a fixed amount of space available for inflight data. Ensure that you set this property with a sufficiently low value so that the available space does not run out. 50
wmqfte.max.transaction.time The maximum length of time in milliseconds that passes between transaction commits. 5000
wmqfte.max.consecutive.reject The maximum number of messages that can be rejected consecutively (that is, without encountering a valid message).

If this number is exceeded the logger concludes that the problem is not with the messages themselves but with the configuration. For example, if you make an agent-name column in the database narrower than all of your agent names, all messages referring to agents are rejected.

50
wmqfte.reject.queue.name The name of a queue to which the logger puts messages that the logger cannot handle. If we have a database logger see Database logger error handling and rejection for details of which messages might be put onto this queue. SYSTEM.FTE.LOG.RJCT.logger_name
wmqfte.command.queue.name The name of a queue that the logger reads command messages controlling its behavior from. SYSTEM.FTE.LOG.CMD.logger_name
wmqfte.queue.manager The queue manager that the logger connects to (the queue manager must be on the same machine as the logger). No default value
wmqfte.message.source.type One of the following values:

    automatic subscription
    The default value. The logger creates and uses its own durable, managed subscription on the queue manager that is defined in SYSTEM.FTE/Log/#. This is an appropriate value for most scenarios.

    administrative subscription
    If the automatic subscription is not appropriate, we can define a different subscription (for example, by using the IBM MQ Explorer, MQSC, or PCF) and instruct the logger to use that subscription. For example, use this value to partition the log space so that one logger handles agents from A-H, another logger handles I-P, and a third logger from Q-Z.

    queue
    If the IBM MQ topology means that creating a subscription for the logger is not convenient, we can use a queue instead. Configure IBM MQ so that the queue receives the messages that are typically received by a subscription to SYSTEM.FTE/Log/# on the coordination queue manager.

automatic subscription
wmqfte.message.source.name If the message source type is administrative subscription or queue, the name of the subscription or queue to use. This property is ignored if the source type is automatic subscription. No default value
wmqfte.database.credentials.file The file that contains the user name and password for connecting to the database.

For IBM WebSphere MQ Version 7.5, or later, the value of this property can contain environment variables.

For more information, see MFT credentials file format.

For details on creating the Authentication Credentials File see Creating an MFT credentials file

See Configure MQMFTCredentials.xml for information on the location and permissions of this file.

Further details on creating the Authentication Credentials File are in MFT and IBM MQ connection authentication

wmqfte.database.driver The location of the JDBC driver classes for the database. This is typically the path and file name of a JAR file. For example, the Type 2 driver for Db2 on AIX systems requires the file /opt/IBM/db2/V9.5/java/db2jcc.jar. On Windows systems, specify the path separator as a forward slash character (/) for example, C:/Program Files/IBM/SQLLIB/java/db2jcc.jar. On z/OS®, specify the full path of the db2jcc.jar file. For example, wmqfte.database.driver=/db2/db2v10/jdbc/classes/db2jcc.jar.On z/OS systems, you must reference all of the following JAR files:

  • db2jcc.jar
  • db2jcc_license_cisuz.jar
  • db2jcc_javax.jar

If your database driver consists of multiple JAR files (for example, Db2 V9.1 requires a driver JAR file and a license JAR file), include all of these JAR files in this property. Separate multiple file names by using the classpath separator for your platform, that is, the semicolon character (;) on Windows systems and the colon character (:) on other platforms.

No default value
wmqfte.database.exclude .duplicate.metadata Controls whether entries are stored in the metadata table that contains information that can be found in other tables within the database logger schema. Set this value to true, or false. These metadata entries are no longer stored by default as it is duplication of existing data and a waste of database storage capacity. The property entries and the tables, where the same data appears, are as follows:

  • com.ibm.wmqfte.SourceAgent TRANSFER_EVENT or CALL_REQUEST
  • com.ibm.wmqfte.DestinationAgent TRANSFER_EVENT
  • com.ibm.wmqfte.MqmdUser TRANSFER_EVENT or CALL_REQUEST
  • com.ibm.wmqfte.OriginatingUser TRANSFER_EVENT or CALL_REQUEST
  • com.ibm.wmqfte.OriginatingHost TRANSFER_EVENT or CALL_REQUEST
  • com.ibm.wmqfte.TransferId TRANSFER or CALL_REQUEST
  • com.ibm.wmqfte.JobName TRANSFER or CALL_REQUEST

Set the value of this property to false causes these metadata entries to be stored in the metadata table.

true
wmqfte.database.host

Db2 only:

For IBM WebSphere MQ Version 7.5, or later, the host name of the database server to connect to using a Type 4 JDBC driver. If a value for this property is specified, then a value for wmqfte.database.port must also be specified. If both properties are not defined, the database logger connects by using the default Type 2 JDBC driver.

If a value for this property is specified, then a credentials file for this logger (file path defined by the wmqfte.database.credentials.file property) must exist, and be accessible to define the user name and password for connecting to the database, even if the database is on the local system.

No default value
wmqfte.database.name The name of the database instance (or subsystem when using Db2 for z/OS) that contains the Managed File Transfer log tables. No default value
wmqfte.database.type

The database management system in use: Db2 or Oracle. Set this value to db2 or oracle.

db2
wmqfte.database.port

Db2 only:

For IBM WebSphere MQ Version 7.5, or later, the port number of the database server to connect to using a Type 4 JDBC driver. If a value for this property is specified, then a value for wmqfte.database.host must also be specified. If both properties are not defined, the database logger connects by using the default Type 2 JDBC driver.

If a value for this property is specified, then a credentials file for this logger (file path defined by the wmqfte.database.credentials.file property) must exist, and be accessible to define the user name and password for connecting to the database, even if the database is on the local system.

No default value
wmqfte.database.schema The database schema that contains the Managed File Transfer logging tables. In most cases the default value is appropriate, but you might need to specify an alternative value depending on your own site-specific database considerations. FTELOG
wmqfte.database.native.library.path The path that contains the native libraries that are needed by your chosen database driver (if any). For example, the Type 2 driver for Db2 on AIX systems requires libraries from /opt/IBM/db2/V9.5/lib32/. As an alternative to this property, we can set the java.library.path system property by using other methods.

On Solaris and HP-UX systems, before running the fteStartLogger command, you must also set and export the LD_LIBRARY_PATH environment variable to include the path.

No default value
wmqfte.file.logger.fileDirectory The directory where the file logger log files are located. mqft/logs/coordination_dir/loggers/logger_name/logs
wmqfte.file.logger.fileSize The maximum size that a log file is allowed to grow to. The size value is a positive integer, greater than zero, followed by one of the following units: KB, MB, GB, m (minutes), h (hours), d (days), w (weeks). For example,
wmqfte.file.logger.fileSize=5MB 
Specifies a maximum file size of 5MB.
wmqfte.file.logger.fileSize=2d 
Specifies a maximum file size of 2 days of data.
10MB
wmqfte.file.logger.fileCount The maximum number of log files to create. When the amount of data exceeds the maximum amount that can be stored in this number of files, the oldest file is deleted so that the number of files never exceeds the value that is specified. 3
wmqfte.file.logger.mode The logger mode in use: circular, or linear. Set this value to CIRCULAR, or LINEAR. CIRCULAR - The file logger writes information to a file until that file reaches its maximum size as defined by using the wmqfte.file.logger.fileSize property. When the maximum size is reached, the file logger starts a new file. The maximum number of files that are written in this mode is controlled by the value that is defined by using the wmqfte.file.logger.fileCount property. When this maximum number of files is reached, the file logger deletes the first file and re-creates it for use as the currently active file. If the value defined in the wmqfte.file.logger.fileSize property is a fixed size byte unit (for example, KB, MB, or GB) then the upper limit on disk space that is used in this mode equals fileSize multiplied by fileCount. If the value defined in the wmqfte.file.logger.fileSize property is a time unit (for example, m, h, d, or w) then the maximum size depends on the throughput of log messages in your system over these time periods. The log file naming convention that is used when running in this mode is:logger_namenumber-timestamp.log where:

  • logger_name is the name that is given to the logger in the fteCreateLogger command.
  • number is the number of the file within the set.
  • timestamp is the timestamp of when the file was created.
For example,
LOGGER1-20111216123430147.log
LINEAR - The file logger writes information to a file until that file reaches its maximum size as defined by using the wmqfte.file.logger.fileSize property. When the maximum size is reached the file logger starts a new file. Previously written files are not deleted, which allows them to be kept as a historical record of log messages. Files are not deleted when running in linear mode, so the wmqfte.file.logger.fileCount property is ignored because there is no upper limit to the number of files that can be created. Because there is no upper limit when running in this mode, it is necessary to track the amount of disk space that is used by the log files to avoid running low on disk space. The log file naming convention that is used when running in this mode is: logger_name-timestamp.log where:

  • logger_name is the name that is given to the logger in the fteCreateLogger command.
  • timestamp is the timestamp of when the file was created.
For example,
LOGGER-20111216123430147.log
No default value
wmqfte.max.retry.interval The maximum time, in seconds, between retries when the logger encounters a persistent error.

Some error conditions (for example, loss of database connection) prevent the logger from continuing. When this type of condition occurs, the logger rolls back the current transaction, waits for a period, and then retries. The time that the logger waits is initially very short, so that transitory errors can be overcome quickly. However, each time the logger retries, the time that it waits is increased. This prevents too much unnecessary work from taking place when the error condition is longer-lasting, for example when a database is taken down for maintenance.

Use this property to set a limit to the length of the wait so that a retry occurs in a reasonable time of the error condition being resolved.

600
loggerQMgrRetryInterval The interval, in seconds, between checks on the availability of the queue manager by the logger's process controller. 30
maxRestartCount The maximum number of restarts that can happen within the time interval specified by the value of the maxRestartInterval property. When this value is exceeded the logger's process controller stops restarting the logger, and instead performs an action that is based on the value of the maxRestartDelay property. 4
maxRestartInterval The interval, in seconds, that the logger's process controller measures logger restarts over. If the number of restarts in this interval exceeds the value of the maxRestartCount property, the logger's process controller stops restarting the logger. Instead the logger's process controller performs an action that is based on the value of the maxRestartDelay property. 120
maxRestartDelay Determines the behavior of the logger's process controller when the rate of logger restarts exceeds the value of the maxRestartCount and maxRestartInterval properties. If you specify a value less than or equal to zero, the logger's process controller is stopped. If you specify a value greater than zero, this is the number of seconds to wait before the restart history information held by the logger's process controller is reset and the logger is restarted. -1
wmqfte.oracle.port The port that the logger uses to connect to the Oracle instance. This port is also known as a TNS listener. 1521
wmqfte.oracle.host The host that the logger uses to connect to the Oracle instance. localhost
armELEMTYPE Optional property. If the logger is configured for restart by the Automatic Restart Manager (ARM), then set this property to the ARM ELEMTYPE parameter value specified in the associated ARM policy. For a logger, set ELEMTYPE to SYSBFGLG. Not set
armELEMENT Optional property. If the logger is configured for restart by the Automatic Restart Manager (ARM), then set this property to the ARM ELEMENT parameter value specified in the associated ARM policy. We can set the ELEMENT value to correspond to the logger name. Not set
loggerQMgrAuthenticationCredentialsFile
The path to the file that contains the MQ connection credentials for connection to the logger's coordination queue manager.

For details on creating the Authentication Credentials File see Creating an MFT credentials file

See Configure MQMFTCredentials.xml for information on the location and permissions of this file.

Further details on creating the Authentication Credentials File are in MFT and IBM MQ connection authentication

trace Optional property. Trace specification when the logger is to be run with trace enabled at logger start. The trace specification is a comma-separated list of classes, the equals character, and a trace level.

For example, com.ibm.wmqfte.databaselogger, com.ibm.wmqfte.databaselogger.operation=all.

We can specify multiple trace specifications in a colon-separated list. For example,
com.ibm.wmqfte.databaselogger=moderate:com.ibm.wmqfte.databaselogger.operation=all
None
traceFiles Optional property. The total number of trace files to keep. This value applies to the process controller of a logger, as well as the logger itself. 5
traceSize Optional property. The maximum size in MB of each trace file, before trace wraps onto the next file. This value applies to the process controller of the logger, and the logger itself. 20

Client mode connection properties

The following table shows the additional logger properties required to support client mode connection to a logger queue manager.
Table 2. Connection properties for client mode
Property name Description Default value
wmqfte.queue.manager.host Host name, or IP address, of logger queue manager. No default value
wmqfte.queue.manager.port Port on which the logger queue manager is listening. 1414
wmqfte.queue.manager.channel Name of the server connection channel on the logger queue manager. SYSTEM.DEF.SVRCONN
wmqfte.Ssl.CipherSuite

Specifies TLS aspects of how the logger and the logger queue manager exchange data.

The value of wmqfte.Ssl.CipherSuite is a CipherSuite name. The CipherSuite name maps to the CipherSpec name used on the logger queue manager channel.

For more information, see CipherSuite and CipherSpec name mappings.

No default value
wmqfte.Ssl.PeerName Specifies a distinguished name skeleton that must match the name that is provided by the logger queue manager. The distinguished name is used to check the identifying certificate that is presented by the queue manager on connection. No default value
wmqfte.Ssl.TrustStore Specifies the location of the certificates that the logger trusts. The value of wmqfte.Ssl.TrustStore is a file path. If the file path is a Windows file path the backslash character (\) must be escaped with a further backslash character (\\).

Note that the value of this property can contain environment variables.

No default value
wmqfte.Ssl.TrustStoreCredentialsFile The path to the file that contains the wmqfte.Ssl.TrustStore credential.

Note that the value of this property can contain environment variables.

No default value
wmqfte.Ssl.TrustStoreType The type of SSL keystore you want to use. JKS and PKCS#12 keystores are supported. The value of this property can be either jks or pkcs12. jks
wmqfte.Ssl.KeyStore Specifies the location of the private key of the logger. The value of wmqfte.Ssl.KeyStore is a file path. If the file path is a Windows file path the backslash character (\) must be escaped with a further backslash character (\\).

Note that the value of this property can contain environment variables.

No default value
wmqfte.Ssl.KeyStore.CredentialsFile The path to the file that contains the wmqfte.Ssl.KeyStore credential.

Note that the value of this property can contain environment variables.

No default value
wmqfte.Ssl.KeyStoreType The type of SSL keystore you want to use. JKS and PKCS#12 keystores are supported. The value of this property can be either jks or pkcs12. jks
wmqfte.Ssl.FipsRequired Specifies to enable FIPS support at the level of the logger. The value of this property can be true or false. For more information, see FIPS support in MFT. false