Configuring Apache Cassandra as an External Audit Message Store

You can configure ActiveMatrix BPM to send its messages to Apache Cassandra. Apache Cassandra is an open source distributed database management system designed to handle large amounts of data across many servers.

TIBCO ActiveMatrix BPM supports Apache Cassandra 2.1.x, 2.2.x, 3.0.x or 3.11.x, and has been tested against Apache Cassandra 2.1 and 3.11.0. Please refer to the documentation supplied with Apache Cassandra for more information.

To configure ActiveMatrix BPM to store audit messages in Apache Cassandra, you must configure:
  • the connection to Apache Cassandra.

  • the rules that determine which events should be sent to Apache Cassandra.

This is configured in the ec-event-rules file. See File Format for more information. In the ec-event-rules, the archive channel is used to send events to Apache Cassandra, and the qualifier for a given archive channel refers to configuration information. Within the ec_archive_nosql.properties file, configuration sections are given a prefix, that must be the same as the rules qualifier.

Note that:
  • The qualifier can be anything you like.
  • If you have multiple Apache Cassandra connections, you must configure an archive channel for each connection in the ec_event-rules.xml file and create a section of properties for each connection in the ec_archive_nosql.properties file.
  • Both these files are located in the TIBCO ActiveMatrix BPM configuration directory. For example, C:\ProgramData\amx-bpm\tibco\data\bpm\amx.bpm.app\configuration folder.

Procedure

  1. From an editor, open the ec_event-rules.xml file.
  2. Locate the <channel name="default_archive" target="archive"> section.
  3. Add a qualifier that specifies the name of the Apache Cassandra columnstore/table where you want to store the archived messages. For example, amend <channel name="default_archive" target="archive"> to <channel name="default_archive" target="archive" qualifier="name">. Name is used in the ec_archive_nosql.properties file as a prefix for the Apache Cassandra connection properties.
  4. Optionally, you can configure which messages are archived. See File Format.
  5. Save and close the file. The changes take effect automatically, although they may take a few minutes to complete.
  6. By default, the properties are commented out in the ec_archive_nosql.properties file. You must uncomment the properties and configure a set of properties for each Apache Cassandra connection you want to use. Locate the destination.names property. Amend the property so that names matches the qualifier specified in Step 3. If there is more than one connection, each connection should be listed in a comma separated list.
  7. For each target in Apache Cassandra, specify a set of the following parameters:
    Option Description
    destination.name.type Defines the type of database and the database name that can be used. Only Apache Cassandra is supported. For example, destination.name.type = CASSANDRA
    destination.name.consistency The consistency to write messages at in Apache Cassandra. Consistency is how much you should synchronize a row of Cassandra data on all of its replicas. You should specify an Apache Cassandra consistency level, for example, ONE, QUORUM, ALL. See the documentation supplied with Apache Cassandra for more information.
    destination.name.touchpoints A comma separated list of Apache Cassandra servers that ActiveMatrix BPM can communicate with.
    destination.name.keyspace The keyspace used for this connection.
    destination.name.table The table name used for this connection.
    • where name is the qualifier you specified in Step 3.
  8. Save and close the file. The changes take effect immediately.