Skip to content

Grafana Dashboard

The Synthetic Exporter comes with a pre-configured, highly detailed Grafana dashboard that visualizes all the metrics out of the box.

⭐ Quick Start: Official Grafana.com Dashboard

The absolute easiest way to get started is by importing our official dashboard directly from the Grafana community library.

  1. Open your Grafana UI and go to Dashboards > Import.
  2. Under "Import via grafana.com", enter the Dashboard ID: 25651.
  3. Click Load, select your Prometheus data source, and you're done!

Alternatively, you can find the raw dashboard definition in the grafana/dashboard.json file inside the repository if you prefer manual or automated provisioning.

1. Manual Import from File (UI)

The simplest way to add the dashboard to your Grafana instance is to import it manually:

  1. Open your Grafana UI.
  2. In the sidebar, hover over the Dashboards icon and click Import.
  3. You can either:
    • Click Upload JSON file and select the grafana/dashboard.json file.
    • Or, open dashboard.json in a text editor, copy its contents, and paste it into the Import via panel json text box.
  4. Select your Prometheus data source from the dropdown.
  5. Click Import.

2. Automatic Provisioning (Environment Variables & Volumes)

For production environments (like Docker Compose or Kubernetes), you should provision the dashboard automatically so it is always available without manual intervention.

To automatically inject the dashboard into your Grafana container, you use Grafana Provisioning.

Docker Compose Example

You need to mount two things into your Grafana container:

  1. A configuration file (provider) telling Grafana where to look for dashboards.
  2. The actual dashboard.json file.

Create a file named dashboard-provider.yaml:

yaml
apiVersion: 1
providers:
  - name: 'Synthetic Exporter'
    orgId: 1
    folder: ''
    type: file
    disableDeletion: false
    editable: true
    options:
      path: /var/lib/grafana/dashboards

Then, configure your docker-compose.yml to mount these files and use environment variables if needed:

yaml
services:
  grafana:
    image: grafana/grafana:latest
    ports:
      - "3000:3000"
    volumes:
      # 1. Mount the provisioning configuration
      - ./dashboard-provider.yaml:/etc/grafana/provisioning/dashboards/provider.yaml:ro
      # 2. Mount the dashboard JSON into the path specified in the provider
      - ./grafana/dashboard.json:/var/lib/grafana/dashboards/synthetic-exporter.json:ro

When Grafana starts, it will automatically read the provisioning configuration, scan the /var/lib/grafana/dashboards directory, and make the Synthetic Exporter dashboard instantly available.

TIP

If you're using Kubernetes, the standard approach is to store the dashboard.json in a ConfigMap and mount it into your Grafana pod, often combined with the Grafana sidecar pattern which automatically discovers ConfigMaps with a specific label (e.g., grafana_dashboard: "1").

Released under the MIT License.