top of page

Easily Setting up Grafana with Docker Compose

Updated: Jun 23, 2023

What is Grafana?

Grafana is a tool to create rich dashboards from your metrics.

Grafana can ingest from many different data sources, including Prometheus.

Setting up Grafana with Docker Compose

Configuration

Grafana can work without any configuration files. However, we want to configure Prometheus as a data source, so we create grafana/provisioning/datasources/prometheus_ds.yml.


Configuration file: grafana/provisioning/datasources/prometheus_ds.yml

This configuration file will tell Grafana about Prometheus. You could omit this and add the configuration via the Grafana UI.

Add the following to grafana/provisioning/datasources/prometheus_ds.yml:

datasources:
- name: Prometheus
  access: proxy
  type: prometheus
  url: http://prometheus:9090
  isDefault: true

Docker compose file: docker-compose.yml

Next, add the following to docker-compose.yml to add Grafana:

grafana:
    image: grafana/grafana:7.5.7
    ports:
      - 3000:3000
    restart: unless-stopped
    volumes:
      - ./grafana/provisioning/datasources:/etc/grafana/provisioning/datasources
      - grafana-data:/var/lib/grafana
      
volumes:
  grafana-data:

The first volume points to our data source configuration. The second volume is used to save dashboards etc.

Start

Start Prometheus and Grafana:

docker-compose up -d

and open http://localhost:3000 in your browser. Use user admin with password admin for the first login.

You should see the Grafana Landing Page after login:

Setting up Grafana with Docker Compose

Add the first dashboard

Go to http://localhost:3000/dashboard/new to add a new dashboard (or use the plus sign in the navigation bar).

Click on Add an empty panel.

In the dropdown which says -- Grafana -- select Prometheus. You can select Prometheus here because we added the configuration earlier.

Now we need Grafana to tell what to graph. Add the following PromQL statement to the input field metric:

increase(prometheus_http_requests_total[1m])

This will show you how often Prometheus endpoints were called. To learn more about PromQL, see the official documentation.

Setting up Grafana with Docker Compose

Click on Apply to save and go back to the dashboard. Finally, click on the dashboard save button in the upper right corner.


Your final dashboard

Setting up Grafana with Docker Compose - dashboard

Related Posts

See All
Stationary photo

Be the first to know

Subscribe to our newsletter to receive news and updates.

Thanks for submitting!

Follow us
bottom of page