- It can be the data coming into your system (Employee Information, Product Information Sales data etc)
- It can be mediation data (who is accessing your services/application, when and how)
- Request,response and faulty count for your services.
These row data can be crucial and also
it is very important to analyze and convert these data into
information in order provide business intelligence for decision
makers.
WSO2 BAM is mostly used in SOA
environments because when it comes to SOA environment monitoring your
data means monitor your services. Most of your business
functionalites are exposed as services, for example if you want to
insert set of records to your data base you will expose set of data
services to do it or if you want to mediate some services you need to
create proxy service. You can monitor these kind of data using WSO2
Buisness activity monitor Server.
If you look at BAM highlevel
architecture BAM can be modelled according to three major components
- Aggregation – BAM Data Agents which publish data in to BAM Data storage
- Analytics - Analyzers which analyzed Data in BAM storage
- Presentation – Gadgets which displays key performance indicators of analyzed information
You can monitor any business modeling
scenario according to these components and BAM architecture is
modelled around these three components.
Aggregation – basically this means
getting your data into BAM (capturing/collecting data into BAM). BAM
data are sent using events, you can capture important set of data and
make it as an event stream. I will give more details on events stream
in my next posts :) but for the moment all you need to know is
capture many data as possible when you are sending data to BAM more
data means more business intelligence.
Analytics – After you capture your
data you need to make your data meaningful (basically converting data
into information) by analyzing your storage data. In order to do that
you need to do some data operation (aggregation, merging, sorting
ordering) and ultimately build some key performance indicators which
will be needed for business intelligence. In BAM you will be able to
write your own analyzers (custom analyzers) using hive/hadoop and
also these queries can be saved and scheduled accordingly. We will
dig deep into how to write hive queries using bam and how to analyze
data and create KPIs using data in future.
Presentation – Once you analyze your
data, you might need to visualize your KIPs (using bar charts tables)
and build your own dashboards in order to visualize your information
to decision makers. And not just visualizing you might need to send
these analyzed data to needed parties using reporting alerts daily to
the topper management etc. WSO2 BAM will provide rich set of tools to
do those task without much coding effort. It provides a gadget editor
tool which give you a drag and drop kind of way to create your
gadgets from your analyzed data or you can connected to reporting o
do some complex event processing and send emails etc just by using
set of configurations.
Referance http://mackiemathew.files.wordpress.com/2012/01/bamarchitecture.png |
Now that we discussed the main
architecture behind BAM and also bit about the functionalities of BAM
(you can go through BAM samples and install bam samples
in order to get in depth knowledge on BAM)
Lets see how we can use BAM to monitor your
services.
For this I am going to use WSO2 ESB and
we will see how we can monitor service statistics using BAM.
First we need to install BAM data
agents inside ESB.
How to install BAM data agents in ESB?
Download P2 Profile which will contain
BAM Data agent features. Download WSO2 ESB Latest packs. Go to
ESB_HOME/bin and start up the server.
Login to Management Console of WSO2 ESB
using user credentials (default is admin, admin).
Go to Configure -> Features and
Click on Add Repository.
Click on add Repository, You need to give a meaningful name for the repository name, I am going to give it as My_REPO and give the path to your P2 Profile and click on add.
Once you add the repository you will be redirected to a page which contains available features. You need to install BAM data agent features therefore, type BAM on Filter by feature name and untick group feature by category and click on find.
Tick on following features BAM Mediation Data Agent Aggregate, BAM Mediator Aggregated,BAM Service Data Agent Aggregate and click install.
Read and accept License Agreement and click next. Once the installation is finished restart the server.
Once you add the repository you will be redirected to a page which contains available features. You need to install BAM data agent features therefore, type BAM on Filter by feature name and untick group feature by category and click on find.
Tick on following features BAM Mediation Data Agent Aggregate, BAM Mediator Aggregated,BAM Service Data Agent Aggregate and click install.
Read and accept License Agreement and click next. Once the installation is finished restart the server.
Once you have installed the BAM data agents you will see newly installed features under Configure.
1. Service Data Publishing, 2. Mediation Data Publishing 3. BAM Server Profiling.
How to Configure Service Data Agent ?
You can click on Service Data Publishing to send your Service Data to WSO2 BAM. In order to do that you need to Download and Start up BAM (if you are running ESB on the same machine you need to change the offset{BAM_HOME->repository->conf->carbon.xml set offset to 1}.
Go to ${WSO2ESB_HOME}/repository/conf/etc and open bam.xml file. Please make sure that you enable the ServiceDataPublishing.
The bam.xml should have the following configuration:
<BamConfig>
<ServiceDataPublishing>enable</ServiceDataPublishing>
</BamConfig>
NOTE: By default the this is disabled, and the BAM publishing won't occur even though you proceed the below steps and changed in the mentioned UI. Therefore please enable the ServiceDataPublishing to use with WSO2 BAM.
Then in the ESB side go to Service Data Publishing, Give the BAM Server URL which will be the thrift ports started in BAM server (tcp://localhost:7611), give BAM credentials (default is admin,admin) and click on update.
Now if you invoke some services from ESB side the service data will get published to bam. Now to check to confirm whether your data is in BAM you can go to BAM Management Console Check it by connecting to Cassandra Explorer.
In this post I have only explained an intro to BAM 2.0 and how to send service data to bam From my next session I will explain how to send your enterprise data to BAM and how you can do analytics and presentation using WSO2 BAM tool kits.
No comments:
Post a Comment