The Monitor is responsible for gather, calculate and publish metrics collected from applications (e.g.: application progress) or environment resources (e.g.: CPU usage). The Asperathos Controller and Rebalancer services can use these metrics to take decisions to meet some QoS requirements, but the Monitor is not dependent of these other approaches. It is possible, for example, to develop a plugin that only capture metrics from the usage of some VM resource to ease its visualization for Ops teams.
Asperathos was developed by the LSD-UFCG (Distributed Systems Laboratory at Federal University of Campina Grande) as one of the existing tools in EUBra-BIGSEA ecosystem.
EUBra-BIGSEA is committed to making a significant contribution to the cooperation between Europe and Brazil in the area of advanced cloud services for Big Data applications. See more about in EUBra-BIGSEA website.
To more info about Monitor and how does it works in BIGSEA Asperathos environment, see details.md and asperathos-workflow.md.
The monitor is implemented following a plugin architecture, allowing the service to monitor different types of application and different metrics of interest related to the user needs, as QoS requirements or resources managing.
- Python 2.7
- Linux packages: python-dev and python-pip
- Python packages: setuptools, tox and flake8
To apt distros, you can use pre-install.sh to install the requirements.
Clone the Monitor repository in your machine.
A configuration file is required to run the Monitor. Edit and fill your monitor.cfg in the root of Monitor directory. Make sure you have fill up all fields before run. You can find a template in config-example.md.
In the Monitor root directory, start the service using run script:
$ ./run.sh
Or using tox command:
$ tox -e venv -- monitor
In order to execute a unit test of a specific class run the following command:
$ pytest monitor/test/unit/plugins/kubejobs/test_class.py
Or run all test cases using tox command:
$ tox
Endpoints are avaliable on restapi-endpoints.md documentation.