Need help with docker-compose-influxdb-grafana?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

jkehres
145 Stars 89 Forks MIT License 2 Commits 1 Opened issues

Description

Multi-container Docker app with InfluxDB, Chronograf, and Grafana

Services available

!
?

Need anything else?

Contributors list

# 700,596
JavaScr...
aws-lam...
2 commits

docker-compose-influxdb-grafana

Multi-container Docker app built from the following services:

Useful for quickly setting up a monitoring stack for performance testing. Combine with serverless-artillery and artillery-plugin-influxdb to create a performance testing environment in minutes.

Quick Start

To start the app:

  1. Install docker-compose on the docker host.
  2. Clone this repo on the docker host.
  3. Optionally, change default credentials or Grafana provisioning.
  4. Run the following command from the root of the cloned repo:
    docker-compose up -d
    

To stop the app:

  1. Run the following command from the root of the cloned repo:
    docker-compose down
    

Ports

The services in the app run on the following ports:

| Host Port | Service | | - | - | | 3000 | Grafana | | 8086 | InfluxDB | | 127.0.0.1:8888 | Chronograf |

Note that Chronograf does not support username/password authentication. Anyone who can connect to the service has full admin access. Consequently, the service is not publically exposed and can only be access via the loopback interface on the same machine that runs docker.

If docker is running on a remote machine that supports SSH, use the following command to setup an SSH tunnel to securely access Chronograf by forwarding port 8888 on the remote machine to port 8888 on the local machine:

ssh [options] @ -L 8888:localhost:8888 -N

Volumes

The app creates the following named volumes (one for each service) so data is not lost when the app is stopped:

  • influxdb-storage
  • chronograf-storage
  • grafana-storage

Users

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

Database

The app creates a default InfluxDB database called

db0
.

Data Sources

The app creates a Grafana data source called

InfluxDB
that's connected to the default IndfluxDB database (e.g.
db0
).

To provision additional data sources, see the Grafana documentation and add a config file to

./grafana-provisioning/datasources/
before starting the app.

Dashboards

By default, the app does not create any Grafana dashboards. An example dashboard that's configured to work with artillery-plugin-influxdb is located at

./grafana-provisioning/dashboards/artillery.json.example
. To use this dashboard, rename it to
artillery.json
.

To provision additional dashboards, see the Grafana documentation and add a config file to

./grafana-provisioning/dashboards/
before starting the app.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.