This project is a fork from @jkehres and add a Grafana dashboard to display K6 load testing result
You can run k6 with --out influxdb and point influxdb endpoint to exposed port and db as below,
k6 run --vus 100 --duration 5m --out influxdb=http://localhost:8086/k6 script.js
You have to stick with InfluxDB v1 because upstream K6 not support InfluxDB v2 yet.
Multi-container Docker app built from the following services:
To start the app:
- Install docker-compose on the docker host.
- Clone this repo on the docker host.
- Optionally, change default credentials or Grafana provisioning.
- Run the following command from the root of the cloned repo:
docker-compose up -d
To stop the app:
- Run the following command from the root of the cloned repo:
docker-compose down
The services in the app run on the following ports:
Host Port | Service |
---|---|
443 | Grafana |
3000 | Grafana |
8086 | InfluxDB |
The app creates the following named volumes (one for each service) so data is not lost when the app is stopped:
- influxdb-storage
- grafana-storage
The app creates two admin users - one for InfluxDB and one for Grafana. By default, the username and password of both accounts is admin
. To override the default credentials, set the following environment variables before starting the app:
INFLUXDB_USERNAME
INFLUXDB_PASSWORD
GRAFANA_USERNAME
GRAFANA_PASSWORD
The app creates a default InfluxDB database called k6
.
The app creates a Grafana data source called InfluxDB
that's connected to the default IndfluxDB database (e.g. k6
).
To provision additional data sources, see the Grafana documentation and add a config file to ./grafana-provisioning/datasources/
before starting the app.
By default, the app does create K6 Load Testing Result Grafana dashboard.
To provision additional dashboards, see the Grafana documentation and add a config file to ./grafana-provisioning/dashboards/
before starting the app.