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:
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.
- 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.
- 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.
- 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:
- At a command prompt, type
runmqsc qmName
,
where qmName is your queue manager name.
- To display all the queue manager subscriptions, type
dis
sub(*)
- Check that the topic name is returned in the list of subscription
topics, for example SUB(integrationNodeName:myTopic)
- To exit the runmqsc environment, type
end
- To generate the data that you want to record, configure
monitoring on your message flows. See Configuring monitoring for data capture.