APIM 1.10.x is default support to publishing Statistics to DAS and no longer support for the BAM. The previous version of APIM used BAM and BAM put the summarized data on a separate RDBMS. Then APIM fetches data from that RDBMS. But with DAS, we have efficient data sharing from DAS directly to APIM using DAS REST API. Because of that APIM 1.10.x no need to configure RDBMS to generate statistics. However APIM 1.10.x still support RDBMS like APIM 1.9.x to generate summarized data. APIM Default support generates summarized data without configuring RDBMS. So this blog is for configuring APIM and DAS without using RDBMS. Still, you want to use RDBMS, it is still possible and you can find a blog about it in future.
If APIM and DAS run on the same machine, increase the default service port of DAS by setting offset value in <DAS_HOME>/repository/conf/carbon.xml
Data purge is one option to remove historical data in DAS. Since DAS does not allow to delete the DAS table data or Table deletion this option is very important. With data purging, you can achieve high performance on data analyzing without removing analyzed summary data.
Here we purge data only on stream data fired by APIM. These data are contained in the following tables.
ORG_WSO2_APIMGT_STATISTICS_DESTINATION ORG_WSO2_APIMGT_STATISTICS_FAULT ORG_WSO2_APIMGT_STATISTICS_REQUEST ORG_WSO2_APIMGT_STATISTICS_RESPONSE ORG_WSO2_APIMGT_STATISTICS_WORKFLOW ORG_WSO2_APIMGT_STATISTICS_THROTTLE
Make sure not to purge data other than an above table. it will result in vanishing your summarized historical data.
There is two ways to purge data in DAS.
<analytics-data-purging> <!-- Below entry will indicate purging is enable or not. If user wants to enable data purging for cluster then this property need to be enable in all nodes --> <purging-enable>true</purging-enable> <cron-expression>0 0 12 * * ?</cron-expression> <!-- Tables that need include to purging. Use regex expression to specify the table name that need include to purging.--> <purge-include-table-patterns> <table>.*</table> <!--<table>.*jmx.*</table>--> </purge-include-table-patterns> <!-- All records that insert before the specified retention time will be eligible to purge --> <data-retention-days>365</data-retention-days> </analytics-data-purging>