This documentation is for WSO2 Business Activity Monitor 2.0.0. View documentation for the latest release.

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 26 Next »

A toolbox can contain three main artifacts as follows:

All three artifacts are optional. You can have all three types or either one of them in one toolbox, and only the available artifacts will be deployed. The custom toolbox can be installed by following the steps in section, Installing custom toolbox.

Toolbox Structure

Toolbox artifacts should be placed in the structure shown below:

Analytic Artifacts

The analytics scripts (Eg: Hive script) should be placed in the analytics folder under toolbox. All the scripts which are placed under the analytics folder will be deployed. The analyzers.properties file should be included as follows in case the script needs to be scheduled.

The following are the properties to be included in the analyzers.properties file, if 'my_script' and 'my_another_script' need to be included to the toolbox.

analyzers.scripts=script1, script2

analyzers.scripts.script1.filename=my_script
analyzers.scripts.script1.description=Description about my script
analyzers.scripts.script1.cron=1 * * * * ? *

analyzers.scripts.script2.filename=my_another_script
analyzers.scripts.script2.description=Description about my another script
analyzers.scripts.script2.cron=1 * * * * ? *

As shown above, linking the analyzer script to the toolbox occurs through 'analyzers.scripts.script1.filename' property.

The cron property is optional. It should be mentioned in this property file if you want to schedule the script. Both scripts shown above are scheduled with cron expression '1 * * * * ? *'. If a script doesn't need to be schedules to run, avoid having the specific property in the analyzers.properties file.

Stream Definition Artifacts

As shown in the structure of the toolbox, the stream definitions should be placed under streamDefn folder. The stream definitions are the definitions of your data stream published to BAM. You can have any number of stream definitions within one toolbox, but they should be defined in different files.

For example, your data is published with the stream definition shown below, it should be copied to a file and placed under the streamDefn folder. (The file name is not important but the content of the files is).

{
                   'name':'org.wso2.bam.mystream',
                   'version':'1.0.0',
                   'nickName': 'My_Stream',
                   'description': 'This is the stream definition which I'm using to send data to bam',
                   'metaData':[
                           {'name':'clientType','type':'STRING'}
                   ],
                   'payloadData':[
                           {'name':'my_field_1','type':'STRING'},
                           {'name':'my_field_2','type':'INT'},
                           {'name':'my_field_3','type':'INT'},
                           {'name':'my_field_4','type':'STRING'}
                   ]
}

Dashboard Artifacts

As shown in the toolbox structure, the dashboard artfacts should be placed under the dashboard directory. Dashboard artifcats can be for Gadget Dashboard or Jasper Dashboard or both. You need to have the respective artifacts for the dashboard in which your data is visualized. The following section describes how to include artifctas in the toolbox.

Gadget Dashboard Artifacts

Gadget Dashboard related artifacts are given below.

As shown above, all gadget xmls to be included in the dashboard should be placed under the 'gadgets' folder, including any .css/.js files, if any. If jaggery files are used in the gadget xmls, they should be placed in the 'jaggery' folder in the 'dashboard' folder. Finally, the dashboard tabs and gadgets for the tabs should be mentioned in the 'dashboard.properties' file. According to what is mentioned in the dashboard.propertied file, the gadgets and tabs will be organized in the gadget dashboard.

For example, assume you have gadget xmls as My_Gadget_1.xml, My_Gadget_2.xml, My_Gadget_3.xml, My_Gadget_4.xml under the gadgets folder. You are want to add My_Gadget_1.xml, My_Gadget_2.xml to the first tab, and My_Gadget_3.xml, My_Gadget_4.xml to the second. Then the dashboard.properties should be as follows.

dashboard.tabs=tab1, tab2
dashboard.tabs.tab1.name=Tab-1 Title
dashboard.tabs.tab1.gadgets=My_Gadget_1.xml, My_Gadget_2.xml
dashboard.tabs.tab2.name=Tab-2 Title
dashboard.tabs.tab2.gadgets=My_Gadget_3.xml, My_Gadget_4.xml

Similar to anayzers.properties file, tab1, tab2 are reference in the properties. 'dashboard.tabs.tab1.name' denotes the title of the tab denoted by reference tab1. tab1, will have the gadgets My_Gadget_1.xml, My_Gadget_2.xml in the that order. Similarly. for the tab2, the title is 'Tab-2 Title' and the gadgets will be My_Gadget_3.xml, My_Gadget_4.xml in that order.

Jasper Dashboard Artifacts

Jasper Dashboard related artifacts are given below.

As shown above, all the jrxml files to be included in the jasper dashboard should be placed under the 'jasper' directory, and the jrxml file should be linked to the toolbox via the jasper.properties file. Also, if the database needs to be accessed via the jrxml file, you have to provide the datasuorce configuration xml file, which also should be placed under the 'dashboard' directory and included in the jasper.properties file.

Assume you have My_Jasper.jrxml file in the jasper folder. And you are using the My_Datasource.xml configuration file which consists of the connection parameters, etc to the datasource as shown in the folllowing example.

<configuration>
   <url>jdbc:h2:repository/database/samples/ot/WSO2CARBON_DB;AUTO_SERVER=TRUE</url>
   <username>wso2carbon</username>
   <password>wso2carbon</password>
   <driverClassName>org.h2.Driver</driverClassName>
   <maxActive>50</maxActive>
   <maxWait>60000</maxWait>
   <testOnBorrow>true</testOnBorrow>
   <validationQuery>SELECT 1</validationQuery>
   <validationInterval>30000</validationInterval>
</configuration>

For the above scenario, the jasper.properties should be as follows.

jasper.tabs=tab1
jasper.tabs.tab1.name=My Jasper Tab Title
jasper.tabs.tab1.jrxml=My_Jasper.jrxml
datasource=MyDataSource
datasource.configuration=My_Datasource.xml

According to the above configuration, there will be one tab and the title of that tab will be 'My Jasper Tab Title'. Associated jasper file is 'My_Jasper.jrxml'. The datasource configuration is provided by 'datasource.configuration' property.

Packing the Toolbox

After including all required artifacts as described above in a directory, archive it and change the file extension to .tbox. The name of the .tbox is taken as the name of the toolbox. You are now ready to install your toolbox. For information, refer to section Installing custom toolbox.

  • No labels