Recording data

Record data that is flowing through a message flow, or that is emitted by WebSphere® Application Server.

  • Create and configure a database.
  • Configure security settings.
  • Create appropriate configurable services.
  • Configure monitoring for the message flow.

Before you begin

Ensure that the message flow for which you want to record data has been deployed. For more information, see Deployment rules and guidelines.

About this task

You can record data to a database for audit purposes, or to help with problem determination. To record data, you must identify the source of the data that you want to record and the place that you want to record it to. The steps that you take to record data are shown in the following diagram:
The diagram is described in the surrounding text.

Procedure

To configure IBM® Integration Bus to record data, complete the following steps. The sequence of these steps is important. If they are not completed exactly as shown, BIP Message BIP2194 is generated on startup.

  1. Create and configure your database, and define an ODBC definition for the data source name (DSN). Specify an ID and password for your integration node to use when connecting to the database. See Creating and configuring a database for recording data.
  2. Configure your data capture store.

    To define how and where data is stored, create a DataCaptureStore configurable service. This configurable service specifies the IBM Integration Bus runtime properties for data processing and for connecting to the database.

    Your record and replay topology can include more than one integration node. If you deploy the message flows for which you want to capture data to one integration node, and use a different integration node to record the data, you must connect the two integration nodes. For more information about how you can configure your integration node topology, see Using multiple integration nodes for record and replay.

    You can use the provided DefaultCaptureStore configurable service or create your own configurable service of type DataCaptureStore. You can use the web user interface to create the configurable service. Alternatively, use the mqsicreateconfigurableservice command.

    For example, enter the following command on a command line:
    mqsicreateconfigurableservice integrationNodeName -c DataCaptureStore -o dataCaptureStoreName
     -n dataSourceName,egForRecord -v dataSource,integrationServer
    
    • integrationNodeName is the name of your integration node. You configured this integration node to connect to the database when you completed the steps in the topic Creating and configuring a database for recording data.
    • dataCaptureStoreName is the name of your configurable service object.
    • dataSource is the name of your data source.
    • integrationServer is the name of the integration server that processes data for recording.
  3. Specify a publish/subscribe topic that identifies the source of the data that you want to capture.

    To identify the source of the data, create a DataCaptureSource configurable service. You use this configurable service to specify the monitoring topic that identifies the messages flows from which your data comes, and the data capture store to use for storing this data. Multiple instances of the DataCaptureSource configurable service can use the same DataCaptureStore configurable service.

    You can use the web user interface or the mqsicreateconfigurableservice command to create the configurable service.

    For example, on UNIX systems, enter the following command on a command line:
    mqsicreateconfigurableservice integrationNodeName -c DataCaptureSource -o dataCaptureSourceName 
    -n dataCaptureStore,topic 
    -v dataCaptureStoreName,'$SYS/Broker/integrationNodeName/Monitoring/integrationServerName/msgFlowName'
     
    • integrationNodeName is the name of your integration node.
    • dataCaptureSourceName is the name of the configurable service object.
    • dataCaptureStoreName is the name of the DataCaptureStore configurable service that you want to use for this subscription. You must use integrationNodeName to create this DataCaptureStore configurable service.
    • integrationNodeName, integrationServerName, and msgFlowName are the names of the integration node, integration server, and message flow from which you want to capture data. These values are part of a topic string, which is used to subscribe to events that you set up by using business monitoring. You can use topic wildcards in this topic string. On UNIX systems, enclose the topic string in single quotation marks when you enter it on a command line. On Windows systems, use double quotation marks. No quotation marks are required if you create the configurable service by using the web user interface.
    For events that are emitted by WebSphere Application Server, the WebSphere Application Server administrator must supply details of the topic, for example:
    $SYS/AppServer/exampleCell02Cell/exampleNode03.server1/# 

    For more information about how monitoring is used for capturing data, see Configuring monitoring for data capture.

    Test that your subscription to the topic specified in the topic property was successful by retrieving the subscriptions on the queue manager for integrationNodeName. Use the runmqsc command.
    To check the subscription by using runmqsc, complete the following steps:
    1. At a command prompt, type runmqsc qmName, where qmName is your queue manager name.
    2. To display all the queue manager subscriptions, type dis sub(*)
    3. Check that the topic name is returned in the list of subscription topics, for example SUB(integrationNodeName:myTopic)
    4. To exit the runmqsc environment, type end
  4. To generate the data that you want to record, configure monitoring on your message flows. See Configuring monitoring for data capture.

What to do next