WSO2 ESB includes a data agent that can capture data events and send them to WSO2 Business Activity Monitor (BAM), WSO2 Data Analytics Server (WSO2 DAS) or WSO2 Complex Event Processor (CEP) using their Thrift API. To enable this integration, you take the following steps:
- Install and configure WSO2 BAM, WSO2 DAS or WSO2 CEP as described in the BAM documentation, DAS documentation or CEP documentation. If you are installing BAM, DAS or CEP on the same server as the ESB, be sure to configure the ports as described below.
- Configure a server profile and one or more streams in the ESB Management Console.
- Add the BAM mediator to your sequence and connect it to the server profile you created step 2.
When using the data publisher API to publish data in a periodic manner to WSO2 BAM/DAS/CEP, the eviction time and eviction idle time for the connections should be higher than the periodic interval. This is required to re-use the created socket connections from the pool, avoiding closure of it and creation of new connections. The default eviction period is 5.5 seconds (5500 milliseconds). If you are publishing events in a periodic interval as more than 5.5s, you need to tune the
<secureEvictionTimePeriod> parameter accordingly, in the
<PRODUCT_HOME>/repository/conf/data-bridge/thrift-agent-config.xml file of the agent in the client side, by increasing this default value.
Configuring the BAM/DAS/CEP ports
If you are running BAM, DAS or CEP on the same server as the ESB, be sure to set the
<BAM/DAS/CEP_HOME>/repository/conf/carbon.xml so there won't be a conflict with the ESB's HTTPS port. For example, if you set the port offset of BAM to 1, its HTTPS port will be 9444 instead of 9443. You must also increment the Cassandra URL port by the same amount in
<BAM/DAS/CEP_HOME>/repository/conf/datasources/master-datasources.xml. For example, if your port offset is 1, change
<url>jdbc:cassandra://localhost:9161/EVENT_KS</url> in both the WSO2BAM_CASSANDRA_DATASOURCE and WSO2BAM_UTIL_DATASOURCE data sources. Additionally, when you set up the BAM server profile in the ESB Management Console, increment the authentication port by the same amount as the offset (such as 7712 instead of the default 7711 if the port offset is 1).