Coder Social home page Coder Social logo

alainpham / microbam Goto Github PK

View Code? Open in Web Editor NEW
4.0 4.0 0.0 11.87 MB

Aims at giving a BAM solution to follow and analyze Service Level Agreements in real time using JBoss Fuse

Java 63.54% Shell 1.96% CSS 0.71% HTML 18.13% JavaScript 15.66%
jboss-fuse infinispan camel openshift

microbam's Introduction

MICROBAM

JBoss empowered Microservices for SLA management and Business Activity Monitoring

This is an example of microservices for collecting/correlating business events with JBoss Fuse, JBoss Data Grid and soon to come JBoss Data Virtualization . It includes a real time dashboard using Patternfly to follow metrics and Service Level Agreements.

Hopefully, it will give you an idea of what real time monitoring with "the microservice way" can bring to your Digital Transformation program.

Project descriptions

overview

overview

event-collector

Starts the following resources (note that these could have been externalized but to simplify the demo installation, it is embedded):

  • Starts up a JBoss Data Grid to store and calculate statistics in realtime

What this module does :

  • Collects events and triggers statistical calculations
  • Results are stored and updated in real time on a JBoss Data Grid (Infinispan)
trade-service

This is an example of Business Indicator that need to be tracked and analyzed in Real Time. Here we will be tracking the processing time of trade orders.

What this module does :

  • Receives business events (JSON messages)
  • Stores the event for deeper analysis and drill down
  • Maps data to a generic format
  • Send the generic format to the event-collector
dashapp

This is the dashboard that shows metrics in realtime and allows to analyze stored events

generic-model

Java classes that represent the generic model consumed by the event-collector to calculate statistics

To run the examples

  1. compile and package and go to scripts folder
mvn install
cd scripts
  1. run apps with hawt-app packaging
./runApp.sh
  1. open browser at
http://localhost:8012
  1. simulate events
./play.sh
  1. stop events
./pause.sh
  1. play events outside the SLA green zone
./eplay.sh
  1. stop applications
./stopApp.sh

Deploy on Openshift (Moving to FIS2.0) :

  1. elements are in the folder openshift of this project

  2. create fis and amq image streams if needed

oc login -u system:admin
BASEURL=https://raw.githubusercontent.com/jboss-fuse/application-templates/GA
oc create -n openshift -f ${BASEURL}/fis-image-streams.json

JBASEURL=https://raw.githubusercontent.com/jboss-openshift/application-templates/master
oc create -n openshift -f ${JBASEURL}/jboss-image-streams.json
oc create -n openshift -f ${JBASEURL}/amq/amq63-basic.json
oc create -n openshift -f ${JBASEURL}/amq/amq63-persistent.json
oc create -n openshift -f ${JBASEURL}/amq/amq63-persistent-ssl.json
oc create -n openshift -f ${JBASEURL}/amq/amq63-ssl.json
  1. create an AMQ instance
oc login -u developer
oc new-app amq63-basic -p MQ_PROTOCOL=openwire -p MQ_USERNAME=admin -p MQ_PASSWORD=admin -p AMQ_MESH_DISCOVERY_TYPE=dns
  1. create configMap to change app.properties
oc create configmap --from-file=openshift/event-collector-config/application.properties event-collector-config
oc create configmap --from-file=openshift/trade-service-config/application.properties trade-service-config
oc create configmap --from-file=openshift/dashapp-config/application.properties dashapp-config
  1. create & deploy application template.
oc create -f openshift/microbam-all.yml
oc new-app microbam
  1. to run the simulation simply acces the url
http://dashboardURL/sim/sim/20/5

overview

microbam's People

Contributors

alainpham avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.