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
Configuration and Monitoring Specification Test Framework
To set up a test version of Tick Stack run the following command from the root diec
vagrant up
The will create a VM with InfluxDB, Kapacitor, Telegraf and Capacitor installed with the following ports forwarded on the host machine
Influx: 8086 Chronograf: 8888 Kapacitor: 9092
Configuration and Monitoring Specification Test Framework
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.