InfluxDB + Grafana
Want some graphs? It's simpler than you think, using InfluxDB for data storage and Grafana for visualization.
Installing InfluxDB and Grafana
Full installation instructions are available in the InfluxDB docs.
$ sudo apt install influxdb
$ brew install influxdb
Full installation instructions are available in the Grafana docs.
$ sudo apt install grafana
$ brew install grafana
After this, you should have an InfluxDB server running on localhost, listening on port 8086, and a Grafana server on `http://localhost:3000`
Using InfluxDB to store results
k6 has built-in support for outputting results data directly to an InfluxDB database using
$ k6 run --out influxdb=http://localhost:8086/myk6db script.js
$ docker run -i loadimpact/k6 run --out influxdb=http://localhost:8086/myk6db - <script.js
The above command line makes k6 connect to a local influxdb instance, and send the results from
the test to a database named
myk6db. If this database does not exist, k6 will create it
Once you have k6 results in your InfluxDB database, you can then use Grafana to create results visualizations.
Using Grafana to visualize results
http://localhost:3000(or wherever your Grafana installation is located) in your browser.
- Create a data source:
- Now create a dashboard. Here is the newly created dashboard:
Graphto create a new graph panel:
- Click the
Panel titleand then
Editto set up the graph panel:
- Set the panel data source to your
myk6dbdatabase and click the
SELECT mean(value)...statement to edit the metric:
Using our docker-compose setup
To make all the above even simpler, we have created a docker-compose setup that will:
- Start a Docker container with InfluxDB
- Start a Docker container with Grafana
- Make available a k6 container that you can use to run load tests
Make sure you have at least docker-compose version v1.12.0 installed. You just need to do the following:
$ git clone 'https://github.com/loadimpact/k6' $ cd k6 $ git submodule update --init $ docker-compose up -d \ influxdb \ grafana $ docker-compose run -v \ $PWD/samples:/scripts \ k6 run /scripts/es6sample.js
Now you should be able to connect to localhost on port 3000 with your browser and access the Grafana installation in the Docker container.
Preconfigured Grafana dashboards
Here we will list premade Grafana dashboard configurations contributed by users, for use with k6. To enable a contributed Grafana dashboard is simple: you just choose to "import" a dashboard in the Grafana UI and then specify the ID number of the dashboard you want, see http://docs.grafana.org/reference/export_import/ for more details.