FLAME Cross Layer Management and Control
Version: X.X
About this document
Authors
Authors | Organisation |
---|---|
Michael Boniface | University of Southampton, IT Innovation Centre |
Simon Crowle | University of Southampton, IT Innovation Centre |
Contents
Information Model
The informational model describes the structure and format of configuration and monitoring information collected by the CLMC and how the information is used to support service management decision amking
https://gitlab.it-innovation.soton.ac.uk/mjb/flame-clmc/blob/integration/docs/monitoring.md
Adaptive Streaming Use Case Scenario
The use case scenario provides an example usage of the information model for an mpeg-dash adaptive streaming service
Development Environment
tbd
Installation
To set up the adaptive streaming use case scenario
vagrant up
This will provision the following VMs clmc, ipendpoint1, ipendpoint2, nap1, nap2
The clmc vm includes influx, Kapacitor and Chronograf. The following ports forwarded to the clmc VM from the host machine are as follows:
- Influx: 8086
- Chronograf: 8888
- Kapacitor: 9092
Running the simulation
SSH into the CLMC server
vagrant ssh clmc
Run a python script to generate the test data sets
python3 vagrant/src/mediaServiceSim/simulator_v2.py
Java/Unit Test Framework (Not currently used)
A Java/JUnit test framework has been developed to provide concrete examples of the CLMC monitoring specification. To build and run this test framework you will need:
-
The CLMC TICK stack installed and running (provided as a Vagrant solution in this project)
-
Java JDK 1.8+ installed
-
Maven 3+ installed
- Optionally a Java IDE installed, such as NetBeans
Building the test framework
-
Clone this project (obviously)
-
Open the Maven project (<flame-clmc root>\src\clmc-spec) in your Java IDE or navigate to POM.xml file in command line
-
Check the monSpecTestConfig.properties file (src/main/resources) matches your TICK stack set-up. It's likely to.
-
Build the project (this should automatically build and run the tests)
From the command line: mvn test
Extending the test framework
This test framework is easily extendible. There are two simple tests already ready for you to explore:
- BasicInputTest.java - This tries sending some basic metrics about a host to InfluxDB
- BasicQueryTest.java - This tries querying InfluxDB about host metrics
Each test case uses resources in the project to send test data or execute queries. In the first case the resource '/src/main/resources/inputs/host_resource_input' is a file with example InfluxDB Line Protocol statements. In the second test case, the file '/src/main/resources/host_resource_query' contains queries that are executed against InfluxDB. The results of these are currently just output to the console.