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 20 Next »

A toolbox can contain three main artifacts as follows:

  • Stream definitions
  • Analytics
  • Dashboard components

All three artifacts are optional. You can have all three types or or either of them in one toolbox, and only 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 which is published to BAM. You can have any number of stream definitions within one toolbox, but each of those are needed to defined under different files.

For example, if you are publishing your data with stream below stream definition,

{
                   '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'}
                   ]
}

Then, this stream definition needed to be copied into a file, and placed under the streamDefn folder. (Here the file name is not important, it'll be ignored, only the content of the files are important).

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 artifacts.

You need to have the respective artifacts for the dashboard which you are going to visualise your data. The below section will describe how to include the those artifctas in the toolbox.

Gadget Dashboard Artifacts

Gadget Dashboard related artifacts are given below.

As shown in above the all gadget xmls which you are going to include in the dashboard should be placed under the gadgets folder. And also the if you have any css and js files, that also need to placed under the gadget directory. 

If you are using any jaggery files in your gaget xmls, then you have to place the jasggery files in the jaggery folder within dashboard folder. All these jaggery files will be deployed in the WSO2 BAM server.

Finally the dashboard tabs, and gadgets for the tabs should be mentioned in the dashboard.properties file. Accroding to what you have mentioned in the dashboard.propertied file, the gadgets and tabs will be organised in the gadget dashboard.

Assume you have a gadget xmls as My_Gadget_1.xml, My_Gadget_2.xml, My_Gadget_3.xml, My_Gadget_4.xml under the gadgets folder. And you are want to add My_Gadget_1.xml, My_Gadget_2.xml in first tab, and My_Gadget_3.xml, My_Gadget_4.xml to the second tab. 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

 

Here similar to anayzers.properties file the tab1, tab2 are reference in the properties. And 'dashboard.tabs.tab1.name' denotes the title of tab denoted by the reference tab1. And tab1, will have the gadgets My_Gadget_1.xml, My_Gadget_2.xml in the indicated 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 the mentioned order.

Jasper Dashboard Artifacts

Jasper Dashboard related artifacts are given below.

As shown above all the jrxml files that you would like to include in the jasper dashboard should be placed under the jasper directory. and you have to link the jrxml file to the toolbox via the jasper.properties file.

And also if you want to access the database via jrxml file then 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 given below.

<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' and associated jasper file is 'My_Jasper.jrxml'. The datasource configuration is provided by 'datasource.configuration' property.

Packing Toolbox

After including all required artifacts as described above in a directory, finally you need to make it as .zip file and change the extension to .tbox.

The name of the .tbox is taken as the name of toolbox. Further more now you are ready to install your toolbox, and you can install the toolbox by following the steps in Installing custom toolbox.

  • No labels