Skip to content
Snippets Groups Projects
Commit adfeca7e authored by erbel's avatar erbel
Browse files

Updated READMEs

parent 7a715c03
No related branches found
No related tags found
No related merge requests found
Pipeline #87886 passed
......@@ -2,16 +2,13 @@
[![build status](https://gitlab.gwdg.de/rwm/de.ugoe.cs.rwm.mocci/badges/master/pipeline.svg)](https://gitlab.gwdg.de/rwm/de.ugoe.cs.rwm.mocci/commits/master)
Mocci is an extension for the Open Cloud Computing Interface (OCCI) to enable a model-driven management of monitoring instruments in the cloud, as well as storing their results within an OCCI runtime model.
Together with other tools from the OCCI ecosystem it provides a testing and execution environment for self-adaptive systems.
Together with other tools from the OCCI ecosystem it provides a testing and execution environment for self-adaptive systems.
It consist of the following components:
In addition to the getting started and the example scenarios discussed in this document, the main components of MOCCI are represented by the:
1. [Monitoring Extension](https://gitlab.gwdg.de/rwm/de.ugoe.cs.rwm.mocci/tree/master/de.ugoe.cs.rwm.mocci.model)
2. [Monitoring Connector](https://gitlab.gwdg.de/rwm/de.ugoe.cs.rwm.mocci/tree/master/de.ugoe.cs.rwm.mocci.connector)
3. [Monitoring Dummy Connector](https://gitlab.gwdg.de/rwm/de.ugoe.cs.rwm.mocci/tree/master/de.ugoe.cs.rwm.mocci.connector.dummy)
4. [Editor](https://gitlab.gwdg.de/rwm/de.ugoe.cs.rwm.mocci/tree/master/de.ugoe.cs.rwm.mocci.model.edit)
5. [A self-adaptation example](https://gitlab.gwdg.de/rwm/de.ugoe.cs.rwm.mocci)
The following instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
## Getting Started
To getting started with MOCCI we provide a hands on experience in form of a virtualbox image in which everything required is already configured and ready to go.
......@@ -21,7 +18,8 @@ Alternatively, to manually setup the single components instructions can be found
To get a quick start in the OCCI ecosystem and the MOCCI monitoring extension download the following VM image. This image contains a version of OCCI-Studio with the MoDMaCAO and MOCCI plugins pre-installed.
Moreover, it contains a checked out version of MOCCI and a local version of the MARTserver.
```
Insert Link here!
https://owncloud.gwdg.de/index.php/s/5u2ddnyyNlzecM5
password: mocci
```
......
# Monitoring Extension
This component represents the OCCI monitoring extension, we generated using [OCCI-Studio](https://github.com/occiware/OCCI-Studio).
The elements introduced in this extension mainly inherit from elements of the enhanced platform extension of [MoDMaCAO](https://github.com/occiware/MoDMaCAO),
as shown in the Figure below.
![alt text](https://gitlab.gwdg.de/rwm/de.ugoe.cs.rwm.mocci/blob/master/de.ugoe.cs.rwm.mocci.model/monExt.png)
## The Sensor Element
The sensor element represents a top level element used to easily manage all monitoring instruments it contains.
The containment relationship to its monitoring instruments is modeled via componentlinks.
As sensor inherits application, it gains access to attributes reflecting its current state, as well as actions to manage its lifecycle.
Thus, the monitoring instruments can be deployed by accessing the sensor directly, but also by addressing each instrument separately.
To specify the object a sensor monitors, it can be connected over a monitorableproperty to the corresponding resource.
The property itself defines two attributes defining the name of the property it monitors, and its results.
## The Monitoring Components
Each monitoring component (datagatherer, dataprocessor, resultprovider) inherit from component.
Thus, each monitoring component gains access to actions to deploy, configure, start, stop, and undeploy it.
When not using the dummy connector, the execution of these actions trigger the execution of configuration management scripts linked to the individual monitoring instrument.
The name of the scripts are assigned over user mixins attached to the component, which is located in the roles folder of the MartServer.
To define where each monitoring instrument is deployed placementlinks are used connecting the instrument to the vm it is deployed on.
Thus, each instrument can be hosted by different vm.
\ No newline at end of file
# Monitoring Extension Connector Dummy
This component represents the connector dummy for the OCCI monitoring extension. The skeleton for this connector is generated using [OCCI-Studio](https://github.com/occiware/OCCI-Studio).
Hereby, for each element in the monitoring extension a single connector file is present, implementing how to react on different REST requests addressing the corresponding OCCI element.
This dummy is especially useful for testing purposes. Compared to the actual connector, a link to configuration management scripts is not necessary in order to get monitoring data.
As soon as a resultprovider is started monitoring results are simulated are passed to the monitorableproperty element of the sensor containing the resultprovider.
The simulated values are easy to adjust and does not require a recompilation of the connector, as only the resultprovider.properties file within the connector has to be modified.
## Adjusting the Simulation
To configure the simulation of monitoring results the following steps have to be performed.
1. Navigate to ~/martserver-plugins
2. Open the de.ugoe.cs.rwm.mocci.connecter.dummy.jar with an archive manager.
3. Doubleclick on the resultprovider.properties file
4. Adjust the values to your liking
The adjustment of the file itself is best explained with a small example:
Currently, the file contains the following:
```
CPU = None,Low,Medium,High,Critical,5000
```
* CPU: Represents the monitorable.property to be adjusted.
* 5000: Represents the interval in which monitoring.results are written.
* None-Critical: Represents the simulated monitoring.results.
de.ugoe.cs.rwm.mocci.connector/example.png

206 KiB

# Monitoring Extension
This component represents the OCCI monitoring extension, we generated using [OCCI-Studio](https://github.com/occiware/OCCI-Studio).
The elements introduced in this extension mainly inherit from elements of the enhanced platform extension of [MoDMaCAO](https://github.com/occiware/MoDMaCAO),
as shown in the Figure below.
![alt text](https://gitlab.gwdg.de/rwm/de.ugoe.cs.rwm.mocci/blob/master/de.ugoe.cs.rwm.mocci.model/monExt.png)
## The Sensor Element
The sensor element represents a top level element used to easily manage all monitoring instruments it contains.
The containment relationship to its monitoring instruments is modeled via componentlinks.
As sensor inherits application, it gains access to attributes reflecting its current state, as well as actions to manage its lifecycle.
Thus, the monitoring instruments can be deployed by accessing the sensor directly, but also by addressing each instrument separately.
To specify the object a sensor monitors, it can be connected over a monitorableproperty to the corresponding resource.
The property itself defines two attributes defining the name of the property it monitors, and its results.
## The Monitoring Components
Each monitoring component (datagatherer, dataprocessor, resultprovider) inherit from component.
Thus, each monitoring component gains access to actions to deploy, configure, start, stop, and undeploy it.
When not using the dummy connector, the execution of these actions trigger the execution of configuration management scripts linked to the individual monitoring instrument.
The name of the scripts are assigned over user mixins attached to the component, which is located in the roles folder of the MartServer.
To define where each monitoring instrument is deployed placementlinks are used connecting the instrument to the vm it is deployed on.
Thus, each instrument can be hosted by different vm.
\ No newline at end of file
de.ugoe.cs.rwm.mocci.model/monExt.png

590 KiB

This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -6,7 +6,7 @@ When a scaleUp is performed, a compute node hosting a hadoop-worker component is
which gets executed over a [models at runtime engine](https://gitlab.gwdg.de/rwm/de.ugoe.cs.rwm.docci).
##Deploying the Cluster
## Deploying the Cluster
First, the hadoop cluster has to be deployed. Therefore, first start the MartServer.
If the getting started VM is used the following script can be executed:
```
......@@ -27,7 +27,7 @@ http://localhost:8080/sensor
http://localhost:8080/monitorableproperty
```
##Starting the MAPE-K loop
## Starting the MAPE-K loop
To start the MAPE-K loop execute MAPE.java as a Java Application.
In the VM it is located on the desktop.
```
......@@ -38,7 +38,7 @@ This scenario serves as an example on how to work with the OCCI ecosystem, inclu
*Note:* To perform this scenario in a running cloud multiple adjustments have to be performed. Please refer to this [documentation](doc/openstack) to get started with actual cloud deployments.
##Tuning the Scenario
## Tuning the Scenario
Again the simulated monitoring results can be adjusted as described in Section "Tuning the Scenario" of the [first scenario](doc/vertical.md).
Moreover, to investigate what is happening in this scenario it is recommended to open the OCCI-Studio and execute the scenario from here.
The class is located at:
......
......@@ -4,7 +4,7 @@ Thereafter, a MAPE-k loop is initialized that periodically checks whether the CP
If that is the case a request against the OCCI API is performed, increasing the number of cores and memory available to the machine.
##Deploying the Cluster
## Deploying the Cluster
First, the hadoop cluster has to be deployed. Therefore, first start the MartServer.
If the getting started VM is used the following script can be executed:
```
......@@ -25,7 +25,7 @@ http://localhost:8080/sensor
http://localhost:8080/monitorableproperty
```
##Starting the Adaptation Script
## Starting the Adaptation Script
To start the script execute the vertical.sh script.
In the VM it is located on the desktop, otherwise you can find it [here](https://gitlab.gwdg.de/rwm/de.ugoe.cs.rwm.mocci/blob/master/src/main/resources/vertical.sh).
```
......@@ -36,7 +36,7 @@ This scenario serves as an example on how to directly work with the OCCI API, in
*Note:* This scenario mainly serves to get started with the OCCI API. Currently, there is no connector implementing the vertical adjustment as shown in this scenario.
##Tuning the Scenario
## Tuning the Scenario
As the adaptation only reacts on a Critical behavior, it may be interesting to tune the simulated monitoring results.
Therefore, the following steps have to be performed:
1. Stop the MartServer (CTRL-C)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment