Configuring data recording

Recording of data is enabled by default but takes effect only if you configure it by modifying the server.conf.yaml file for the integration server.

Before you begin

You must associate a queue manager with the independent integration server or the integration node that is managing integration servers. For more information, see Creating an integration node and IntegrationServer command.

About this task

You can modify the server.conf.yaml file to configure recording for your integration server.

Procedure

Modify the server.conf.yaml file to configure recording for your integration server by completing the following steps:

  1. Stop the integration server. See Stopping an integration server.
  2. Open the server.conf.yaml configuration file for your integration server by using a YAML editor.

    You can edit the file by using the built-in YAML editor that is provided in the IBM App Connect Enterprise Toolkit, either by double-clicking the file in the Application Development view or by right-clicking the file and selecting Open with > YAML editor. If you choose to edit the file by using a plain text editor, ensure that you do not include any tab characters (which are not valid in YAML) and use a YAML validation tool to validate the contents of your file.

    The properties that you need to set are in the RecordReplay section of the server.conf.yaml configuration file:
    RecordReplay:
      recordReplayEnabled: true  # Set to true to enable all Record and Replay functionality. Default is true.
    
  3. Set the recordReplayEnabled property to true.
  4. Copy and customize the StoreTemplate section for each record and replay store that you want to create. For example:
    RecordReplay:
    ....
      Stores:
        ..
        MBRECORD_store:
          dataSource: 'MBRECORD' # The ODBC data source name (DSN) that is used to connect to the database that stores the recorded data. This property is mandatory and has no default value.
          schema: 'myschema'                        # The schema name that owns the database tables that are used for storing recorded data. This property has no default value. If no value is set, either the default database schema is used (if there is one), or no schema is used, depending on the database.
          storeMode: 'all'  # The mode for the store to operate in. Valid values are record, view, and all. Default is all.
       
    
    1. Change the heading StoreTemplate to the name of your store. For example, MBRECORD_store.
    2. Set the dataSource property to the ODBC name of your database. For example, MBRECORD.
    3. Set the schema property to the name of your schema for the database tables. For example, myschema.
    4. Set the storeMode property to all.
    Specifying all for the storeMode property lets you use the store for recording and viewing/replaying.
    If you only want to use the store for recording:
    1. Set the storeMode property to record.
    2. Create another store, perhaps on a different integration server, for viewing/replaying.
    3. Set the storeMode property of the new store to view.
    There are other store properties you can set. For more information, see Tuning data recording.
  5. Copy and customize the SourceTemplate section for each record and replay source that you want to create. For example:
    RecordReplay:
    ....
      Sources:
        ..
        MBRECORD_source:
          topic: '$SYS/Broker/[nodename]/Monitoring/[servername]/[applicationname]/[flowname]'  # Sets the subscription topic that is used for business-level monitoring of a message flow.
          store: 'MBRECORD_store' # The Record and Replay store that is used to configure record and replay for the message flows specified in the topic property. Multiple instances of Record and Replay source can refer to one instance of a Record and Replay store.
    
    1. Change the heading SourceTemplate to the name of your source. For example, MBRECORD_source.
    2. In the topic property, set the nodename to the name of your integration node.
    3. In the topic property, set the servername to the name of your integration server.
    4. In the topic property, set the applicationname to the name of your application.
    5. In the topic property, set the flowname to the name of your message flow.
    6. Set the store property to the name of your record and replay store. For example, MBRECORD_store.

    A durable subscription is created for each source and is created with an id of nodename:servername:sourcename. If multiple independent integration servers share the same queue manager, you must ensure that each subscription has unique values for nodename, servername and sourcename. If you delete a source, you must manually delete the durable subscription for that source to avoid messages being published to the record and replay store's queue. For more information, see Deleting a local subscription in the IBM MQ product documentation.

  6. Start the integration server. See Starting an integration server.

What to do next

You are now ready to start recording, viewing, and replaying your data. See
Recording data, Viewing recorded data, and Replaying data.