All integrations
Grafana
+
Bruin

Grafana + Bruin

Source

Ingest Grafana data into your warehouse with incremental loading, quality checks, and full lineage. Defined in YAML, version-controlled in Git.

For business teams

What you get

  • Engineering metrics in business terms

    Join Grafana data with revenue and customer data. Show leadership how engineering reliability impacts the bottom line.

  • DORA metrics, automated

    Grafana data feeds deployment frequency, lead time, MTTR, and change failure rate calculations automatically.

  • Catch data gaps

    Quality checks ensure Grafana data is complete and fresh. Stale metrics mean bad decisions — Bruin catches it.

  • Cross-tool visibility

    Combine Grafana with Jira, GitHub, PagerDuty, and other tools. See the full engineering picture in one place.

For data & engineering teams

How it works

  • Freshness checks built in

    Quality checks ensure Grafana data is recent. Stale engineering metrics mean bad decisions — Bruin catches it.

  • YAML-defined, Git-versioned

    Your Grafana pipeline is a YAML file. Review in PRs, deploy with CI/CD, roll back with git revert.

  • SQL + Python transforms

    Calculate DORA metrics, MTTR, and custom KPIs with SQL or Python — in the same pipeline as ingestion.

  • Multi-source pipelines

    Combine Grafana with Jira, GitHub, PagerDuty in one pipeline. Bruin resolves cross-source dependencies.

Before you start

Grafana instance with API access enabled
API key with appropriate permissions

Step 1

Add your Grafana connection

Connect using API key and Grafana instance URL. Add this to your Bruin environment file — credentials are stored securely and referenced by name in your pipeline YAML.

Parameters

  • api_keyGrafana API key for authentication
  • urlGrafana instance URL
connections:
  grafana:
    type: grafana
    uri: "grafana://?api_key=<api-key>&url=<grafana-url>"

Step 2

Create your pipeline

Define a YAML asset that tells Bruin what to pull from Grafana and where to land it. This file lives in your Git repo — reviewable, version-controlled, and deployable with CI/CD.

Available tables

dashboardsalertsdatasourcesannotationsusers
name: raw.grafana_dashboards
type: ingestr

parameters:
  source_connection: grafana
  source_table: 'dashboards'
  destination: bigquery

Step 3

Add quality checks

Add column-level and custom SQL checks to your Grafana data. If a check fails, the pipeline stops — bad data never reaches downstream models or dashboards.

Validate data freshness — stale metrics get flagged
Ensure record IDs are unique across syncs
Catch records older than expected sync window
columns:
  - name: id
    checks:
      - name: not_null
      - name: unique
  - name: created_at
    checks:
      - name: not_null

custom_checks:
  - name: no stale records
    query: |
      SELECT COUNT(*) > 0
      FROM raw.grafana_dashboards
      WHERE created_at > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 7 DAY)

Step 4

Run it

One command. Bruin connects to Grafana, pulls data incrementally, runs your quality checks, and lands clean data in your warehouse. If a check fails, the pipeline stops — bad data never reaches downstream.

Backfill historical data with --start-date
Schedule with cron or trigger from CI/CD
Full lineage from Grafana to your dashboards
$ bruin run .
Running pipeline...

  grafana_dashboards
    ✓ Fetched 2,847 new records
    ✓ Quality: campaign_id not_null     PASSED
    ✓ Quality: spend not_null           PASSED
    ✓ Quality: no negative ad spend     PASSED
    ✓ Loaded into bigquery

  Completed in 12s

Other Engineering integrations

Ready to connect Grafana?

Start for free, or book a demo to see how Bruin handles ingestion, quality, lineage, and scheduling for your entire data stack.