Documentation and Guides

Compiling and Deployment

View project onGitHub

The latest MELA prototype is available on GitHub here

The “MELA” directory contains a MELA Maven "pom" project. The project has a set of Maven modules: MELA-Core, containing MELA-Common and MELA-DataService, and MELA-Extensions, containing MELA Elasticity Space and Pathway Analysis service. MELA DataService is a Web Application, responsible of collecting monitoring information from existing monitoring systems, structuring and aggregating it, and storing it in a local monitoring repository.

The MELA Elasticity Space and Pathway Analysis is a Web Application which queries monitoring data stored by MELA DataService in the MELA-Data Repository, and analyzes it. MELA-Common contains the common data model used by the other two modules.

MELA Elasticity Space and Pathway Analysis and MELA DataService have two maven profiles: the standard profile compiles them in shaded .jar files. The “Release” profile also produces for each project a “tar.gz” archive containing the jars, necessary configuration files, and scripts for running them. To compile the modules using Maven, from the MELA main directory, running "mvn clean install" or "mvn clean package" will compile all MELA Modules. Running "mvn clean install –P Release” or "mvn clean package –P Release” activates the Release profile which also produces the project’s “ tar.gz” distribution.

Prerequisites

In the current prototype, MELA-DataService can collect monitoring information from one or more Ganglia Monitoring System clusters, or JCatascopia instances. This means Ganglia/JCatascopia should be installed on any VM from which MELA will collect data, and that MELA can collect data from separate Ganglia clusters.

On Ubuntu Ganglia can be installed via apt-get by `sudo apt-get install ganglia-monitor gmond`

Note: By default, Ganglia data collection interval might be too large. If data collection must perform more often, please configure Ganglia accordingly by setting ` collect_every`, and `time_threshold` for each collection group to smaller values.

Running MELA

MELA-DataService provides data collection and structuring functionality, and can be run standalone. MELA Elasticity Space and Pathway Analysis service must be run in conjunction with MELA-DataService, as it analyzes data stored by the data service.

MELA-DataService

Configuration

  • Configure if required the options presented in "./config/mela-data-service.properties"
  • Configure the data sources from which data is to be collected in "./config/dataSources.xml"

Compile and Run

  • If compiled with "mvn clean package -P Release", extract the "tar.gz", perform necessary configurations, and start the MELA-DataService using the provided script by executing "mela-data-service start". With "mela-data-service stop" the MELA-DataService can be shut down.
  • If compiled with the standard profile, run from the target directory the MELA-DataService as any simple jar with "java -DLOG_DIR=dir_to_store_logs -jar ./MELA-DataService ", as it is packaged with an embedded Apache Tomcat 7.
As MELA-DataService is packaged with an embedded Apache Tomcat 7, it will try to start on a standard HTTP 8080 port. If that port is occupied, change the "mela-data-service" script to include in the java -jar ./MELA-DataService -httpPort=port", or add "-httpPort=port" if running from command line.
  • Open MELA at http://IP:PORT/MELA
  • MELA RESTful API is located at http://IP:PORT/MELA/REST_WS. Test if the API works by invoking http://IP:PORT/MELA/REST_WS/monitoringdataJSON

MELA-Elasticity Space and Pathway Analysis

Configuration

Configure if required the options presented in "./config/mela-analysis-service.properties"

Compile and Run

  • If compiled with "mvn clean package -P Release", extract the "tar.gz", perform necessary configurations, and start the MELA-AnalysisService using the provided script by executing "/mela-space-and-pathway-analysis-service start". With "/mela-space-and-pathway-analysis-service stop" the MELA-AnalysisService can be shut down.
  • If compiled with the standard profile, run from the target directory the MELA-AnalysisService as any simple jar with "java -DLOG_DIR=dir_to_store_logs -jar ./MELA-AnalysisService ", as it is packaged with an embedded Apache Tomcat 7.
As MELA-AnalysisService is packaged with an embedded Apache Tomcat 7, it will try to start on a standard HTTP 8080 port. If that port is occupied, change the "/mela-space-and-pathway-analysis-service" script to include in the java -jar ./MELA-AnalysisService -httpPort=port", or add "-httpPort=port" if running from command line.
  • Open MELA at http://IP:PORT/MELA
  • MELA RESTful API is located at http://IP:PORT/MELA/REST_WS. Test if the API works by invoking http://IP:PORT/MELA/REST_WS/monitoringdataJSON
For detailed information from deployment to configuring MELA for specific elastic services, check: