This site contains the documentation that is relevant to older WSO2 product versions and offerings.
For the latest WSO2 documentation, visit https://wso2.com/documentation/.

Adding Statistical Dashboards using WSO2 BAM

Enterprise data can be a collection of facts (values or measurements), numbers, observations and descriptions. WSO2 App Factory provides facility to store, manage and analyze data by connecting to WSO2 Business Activity Monitor (BAM). The BAM provides the following statistical dashboards for your enterprise's big data:

  • Application portfolio: information about applications, versions per lifecycle stage, owner, type etc. 
  • Quality: Analyze the quality of your developments through visualizations of issues and build statuses.
  • Velocity: The number of builds and commits that happen.
  • Efficiency: See the efficiency and resource utilization through visualizations such as the number of apps per member, number of members per app, user registration stats etc.   
  • Each dashboard has a time slider at the top. You can manually select a time period and the dashboard gadgets will be redrawn accordingly.

An example of the Application Portfolio tab of the dashboard is given below:


Configure WSO2 App Factory with WSO2 BAM

In this section, you configure the App Factory with BAM. WSO2 BAM comes by default with your App Factory build.

  1. See Installing On-Premise to download and set up the App Factory.

  2. Go to <AF_HOME>/repository/conf/appfactory/appfactory.xml file and configure the <BAM> element. For example,

    <!-- BAM integration related configurations -->
    <BAM>
       <EnableStatPublishing>true</EnableStatPublishing>
      
       <!-- Server URL of the remote BAM server used to collect statistics. Must be specified in protocol://hostname:port format. Can specify multiple URLs by comma separated list i.e: tcp://localhost:7613,tcp://localhost:7614-->
       <BAMServerURL>tcp://bam.milestones.appfactory.wso2.com:7614</BAMServerURL>
    
       <!-- Administrator username to login to the remote BAM server. -->
       <BAMUserName>admin</BAMUserName>
    
       <!-- Administrator password to login to the remote BAM server. -->
       <BAMPassword>admin</BAMPassword>
       <DashboardServer>
          <Url>https://ues.milestones.appfactory.wso2.com:9454</Url>
       </DashboardServer>
       <Dashboards>
          <TenantAdminDashboard>
             <Path>/CXODashboard</Path>
          </TenantAdminDashboard>
       </Dashboards>
    </BAM>

    The elements in the above sample configuration are explained below. You can use this information to edit the file according to your requirements:

     

    Element Name

    Description

    <EnableStatPublishing>

    Defines whether data publishing is enabled or disabled in App Factory.

    <BAMServerURL>

    Server URL of the remote BAM server used to collect statistics. Must be specified in protocol://hostname:port format. Can specify multiple URLs in a comma separated list. For example, tcp://localhost:7613,tcp://localhost:7614

    <BAMUserName>

    Administrator username to the remote BAM server.

    <BAMPassword>

    Administrator password to the remote BAM server.

    <DashboardServer>

    Child element <Url> defines the server in which the dashboard is running. This is the WSO2 User Engagement Server (UES) that is shipped with the App Factory. For example, h ttps://ues.milestones.appfactory.wso2.com:9454.

  3. Enable stats publishing from the issue tracker, which is deployed in the build server to publish stats to BAM by editing the <BAM> element in < BUILDSERVER_HOME >/repository/conf/appfactory/appfactory.xml file.

  4. Enable and configure GitBlit to publish data to BAM using the BAM publishing related configs in  <GITBLIT_HOME>/data/gitblit.properties file. For example,

    publishToBAM = true
    bAMPublisherDefinitionEndpoint= https://bam.milestones.appfactory.wso2.com:9446/datareceiver/1.0.0/streams/
    bAMPublisherPublishEndpoint= https://bam.milestones.appfactory.wso2.com:9446/datareceiver/1.0.0/stream/
    bAMUserName= admin
    bAMPassword= admin
    publishStreamName= org.wso2.carbon.appfactory.appCommit
    publishStreamVersion= 1.0.0

     

    The properties of the above example are described below:

    Property Name

    Description

    publishToBAM

    Defines whether data publishing is enabled or disabled in Gitblit. Set this attribute to true to enable and false to disable.

    bAMPublisherDefinitionEndpoint

    Endpoint URL of the data stream definition.

    E.g., https://bam.milestones.appfactory.wso2.com:9446/datareceiver/1.0.0/streams/

    bAMPublisherPublishEndpoint

    Endpoint URL of data publishing.

    E.g., https://bam.milestones.appfactory.wso2.com:9446/datareceiver/1.0.0/stream/

    bAMUserName

    Admin username of the BAM server

    bAMPassword

    Admin password of the BAM server

    publishStreamName

    Stream name in BAM to which the statistics should be published

    publishStreamVersion

    Stream version in BAM to which the statistics should be published

  5. Restart the system.
  6. On the console, click the Dashboard icon.

    The dashboard opens in a separate tab.