Dashboard Provisioning¶
Provision a pre-built monitoring dashboard in Metabase with a single command. The "Data Pipeline Health" dashboard gives you instant visibility into sync status, data freshness, test results, and row count trends.
Overview¶
dango dashboard provision creates a Metabase dashboard with 6 visualizations covering pipeline health. It authenticates with Metabase, creates individual cards (questions), assembles them into a dashboard with a grid layout, and returns the dashboard URL.
Quick Start¶
You'll be prompted for the admin password:
Password: ********
✓ Dashboard provisioned successfully!
Dashboard: Data Pipeline Health
URL: http://localhost:3000/dashboard/1
Cards created:
• Pipeline Health Score
• dbt Test Results
• Data Sources Overview
• Sync History (Last 7 Days)
• Row Counts Over Time
• Data Freshness by Source
Command Options¶
| Option | Default | Description |
|---|---|---|
--url | http://localhost:3000 | Metabase instance URL |
--username | Auto-detected | Metabase admin email |
--password | Prompted | Metabase admin password (entered interactively) |
Username Resolution¶
The admin username is resolved in this order:
- Explicit
--usernameflag DANGO_ADMIN_EMAILenvironment variable- Active admin user from the auth database
- Fallback:
[email protected]
Dashboard Contents¶
The provisioned dashboard contains 6 cards arranged in a grid:
Layout¶
┌──────────────────┬──────────────────┬──────────────────┐
│ Pipeline Health │ dbt Test Results │ Data Sources │
│ Score (gauge) │ (scalar) │ Overview (table) │
│ 6×4 │ 6×4 │ 6×4 │
├────────────────────────────┬────────────────────────────┤
│ Sync History 7 Days │ Row Counts Over Time │
│ (line chart) 9×6 │ (area chart) 9×6 │
├────────────────────────────┴────────────────────────────┤
│ Data Freshness by Source (table) 18×4 — full width │
└─────────────────────────────────────────────────────────┘
Cards¶
| Card | Visualization | Position | Description |
|---|---|---|---|
| Pipeline Health Score | Gauge | Row 0, Col 0 (6×4) | Overall health score 0-100 |
| dbt Test Results | Scalar | Row 0, Col 6 (6×4) | Count of failed tests vs total |
| Data Sources Overview | Table | Row 0, Col 12 (6×4) | Source name, type, enabled status |
| Sync History (Last 7 Days) | Line chart | Row 4, Col 0 (9×6) | Sync activity per day |
| Row Counts Over Time | Area chart | Row 4, Col 9 (9×6) | Data growth trend over 30 days |
| Data Freshness by Source | Table | Row 10, Col 0 (18×4) | Row count and last update per source |
Each card executes a native SQL query against the DuckDB database connected to Metabase.
Customizing the Dashboard¶
After provisioning, the dashboard is a standard Metabase dashboard. You can:
- Edit the layout — drag and resize cards in Metabase
- Add cards — create new questions and add them to the dashboard
- Modify queries — click any card to edit its underlying SQL
- Add filters — add interactive filter widgets to the dashboard
- Change visualizations — switch chart types (e.g., line to bar)
Save Your Customizations
After customizing the dashboard in Metabase, run dango metabase save to export it as YAML. This lets you version-control your changes and restore them later. See Save & Load.
Re-Provisioning¶
Running dango dashboard provision again creates a new dashboard — it does not update the existing one. If you want a fresh dashboard:
- Delete the old dashboard in Metabase
- Run
dango dashboard provisionagain
For updating an existing dashboard, edit it directly in the Metabase UI instead.
Troubleshooting¶
Authentication Failed¶
Verify your Metabase admin email and password. The Metabase admin password was auto-generated during dango start and stored in .dango/metabase.yml. This is separate from the Dango admin password set during dango init.
DuckDB Database Not Found¶
Metabase needs a DuckDB connection configured during setup. This is normally done automatically by dango start. If the connection is missing:
- Verify Metabase is running:
dango status - Check if DuckDB is connected in the Metabase admin panel under Admin > Databases
- Re-run setup if needed:
dango start
Empty Dashboard¶
The dashboard cards show "No results" if there's no data in DuckDB yet:
- Run
dango syncto load data - Run
dango runto build dbt models - Run
dango metabase refreshto sync the schema - Open the dashboard — cards should now show data
Next Steps¶
-
Export dashboard customizations as YAML for version control.
-
Build custom dashboards from scratch in Metabase.
-
Write native SQL queries against DuckDB in Metabase.
-
Learn how Dango integrates with Metabase.