/grafana-xxl

:bar_chart: Dockerized Grafana with all preinstalled (community) plugins from grafana.net

Primary LanguageDockerfileGNU General Public License v2.0GPL-2.0

Grafana XXL

DockerHub pulls GitHub stars DockerHub stars Commercial support ready

Dockerized Grafana with all preinstalled plugins from https://grafana.net/plugins.

Grafana XXL datasources and plugins

Please donate to author, so he can continue to publish another awesome projects for free:

Paypal donate button

Running your Grafana XXL Docker image

Start your image binding the external port 3000:

docker run -d --name=grafana-xxl -p 3000:3000 monitoringartist/grafana-xxl:latest

Try it out, default admin user is admin/admin.

Grafana XXL with persistent storage (recommended)

# create /var/lib/grafana as persistent volume storage
docker run -d -v /var/lib/grafana --name grafana-xxl-storage busybox:latest

# start grafana-xxl
docker run \
  -d \
  -p 3000:3000 \
  --name grafana-xxl \
  --volumes-from grafana-xxl-storage \
  monitoringartist/grafana-xxl:latest

Running specific version of Grafana XXL

# specify right tag, e.g. 2.6,3.1,dev (latest nigthly build) - see Docker Hub for available tags
docker run \
  -d \
  -p 3000:3000 \
  --name grafana-xxl \
  monitoringartist/grafana-xxl:dev

Building Grafana XXL for ARM

You need ARM-version Grafana's deb (for example from here). Also you need ARM-version of gosu (from here)

# armhf
docker build \
  --tag grafana-xxl \
  --build-arg GRAFANA_DEB_URL=https://github.com/fg2it/grafana-on-raspberry/releases/download/v5.0.4/grafana_5.0.4_armhf.deb \
  --build-arg GOSU_BIN_URL=https://github.com/tianon/gosu/releases/download/1.10/gosu-armhf .

# arm64
docker build \
  --tag grafana-xxl \
  --build-arg GRAFANA_DEB_URL=https://github.com/fg2it/grafana-on-raspberry/releases/download/v5.0.4/grafana_5.0.4_arm64.deb \
  --build-arg GOSU_BIN_URL=https://github.com/tianon/gosu/releases/download/1.10/gosu-arm64 .

Configuring your Grafana container

All options defined in conf/grafana.ini can be overriden using environment variables by using the syntax GF__. For example:

docker run \
  -d \
  -p 3000:3000 \
  --name=grafana-xxl \
  -e "GF_SERVER_ROOT_URL=http://grafana.server.name" \
  -e "GF_SECURITY_ADMIN_PASSWORD=secret" \
  monitoringartist/grafana-xxl:latest

More information in the grafana configuration documentation: http://docs.grafana.org/installation/configuration/

Configuring AWS credentials for CloudWatch support (only Grafana 3.+)

docker run \
  -d \
  -p 3000:3000 \
  --name=grafana-xxl \
  -e "GF_AWS_PROFILES=default" \
  -e "GF_AWS_default_ACCESS_KEY_ID=YOUR_ACCESS_KEY" \
  -e "GF_AWS_default_SECRET_ACCESS_KEY=YOUR_SECRET_KEY" \
  -e "GF_AWS_default_REGION=eu-west-1" \
  monitoringartist/grafana-xxl:latest

You may also specify multiple profiles to GF_AWS_PROFILES (e.g. GF_AWS_PROFILES=default another).

Supported variables:

  • GF_AWS_PROFILES: list of AWS profiles for Cloudwatch datasource
  • GF_AWS_${profile}_ACCESS_KEY_ID: AWS access key ID (required).
  • GF_AWS_${profile}_SECRET_ACCESS_KEY: AWS secret access key (required).
  • GF_AWS_${profile}_REGION: AWS region (optional).

Auto upgrade plugins

Container tries to upgrade all installed plugins in the container automatically before Grafana start. If you want to disable this behaviour, please use environment variable -e UPGRADEALL=false.

Supported monitoring services

Integrations

Author

Devops Monitoring Expert, who loves monitoring systems and cutting/bleeding edge technologies: Docker, Kubernetes, ECS, AWS, Google GCP, Terraform, Lambda, Zabbix, Grafana, Elasticsearch, Kibana, Prometheus, Sysdig, ...

Summary:

Professional devops / monitoring / consulting services:

Monitoring Artist