Redash
Official · maintained by Marmotmarmotdata/redash Discover dashboards, charts, queries and data sources from Redash
The Redash plugin discovers dashboards, charts, queries and data sources from a Redash instance.
It reads the REST API with a user API key, sent as Authorization: Key <api_key>. The key is found on the Redash user profile page.
Assets
| Redash object | Marmot type | Name |
|---|---|---|
| Dashboard | Dashboard | dashboard name |
| Visualization widget | Chart | <dashboard name>/<visualization name> |
| Saved query | Data Model Object | query name |
| Data source | DataSource | data source name |
Redash allows two dashboards or two queries to share a name. A repeat gets its Redash id appended, for example Revenue (2).
Lineage
Dashboard CONTAINS Chart, Data Model Object FEEDS Chart, and DataSource FEEDS Data Model Object.
Table references are read out of each query's SQL and linked as Table FEEDS Data Model Object. The table MRN is built with the provider and naming rule of the plugin that owns the queried system, so the edge lands on that plugin's asset rather than creating a second one. A data source type with no known Marmot identity produces no table edge.
Table lineage rides on the Data Model Object assets, so it needs include_queries.
Redash versions
The dashboard URL changed in Redash 10, so the plugin reads the version from /api/session and picks the matching form. A Redash that does not report its version is treated as current.
Archived dashboards are never returned by the Redash API, so include_archived only affects queries.
In the UI
Point-and-click, no config file needed.
- 1 Open Runs Create pipeline
- 2 Pick Redash from the plugin list.
- 3 Fill in the wizard, set a schedule, save.
With the CLI
Save a YAML config, then run marmot ingest.
name: my-redash-pipeline
runs:
- redash:
host: "<host>"
api_key: "***"$ marmot ingest -c ingest.yamlNot using plugins? Other ways to populate Marmot
Configuration
12 top-level fields. * marks required fields.
tags multiselect Tags to apply to discovered assets
external_links object[] External links to show on all assets
name string Display name for the link
icon string Icon identifier for the link
url string URL to the external resource
filter object Filter discovered assets by name (regex)
include multiselect Include patterns for resource names (regex)
exclude multiselect Exclude patterns for resource names (regex)
host string Redash base URL, for example https://redash.example.com
api_key password Redash user API key, found on the user profile page
verify_ssl bool Whether to verify the server TLS certificate
- default
- true
include_queries bool Whether to catalogue saved queries
- default
- true
include_data_sources bool Whether to catalogue data sources
- default
- true
include_archived bool Whether to include archived dashboards and queries
- default
- false
include_drafts bool Whether to include unpublished dashboards and queries
- default
- true
discover_lineage bool Whether to link dashboards, charts, queries and the tables they read
- default
- true
page_size int Results to request per API page
- default
- 100
Assets emitted
Metadata this plugin attaches to each discovered asset.
Dashboard
RedashDashboardFieldsThe metadata on a Dashboard asset.
id intRedash dashboard id
slug stringURL slug
url stringLink to the dashboard in Redash
tags string[]Tags set on the dashboard in Redash
is_draft boolWhether the dashboard is unpublished
is_archived boolWhether the dashboard is archived
owner stringDisplay name of the user who created the dashboard
created_at stringCreation timestamp
updated_at stringLast update timestamp
widget_count intNumber of widgets on the dashboard, text widgets included
query_count intNumber of distinct queries the dashboard reads
notes stringText widget content, joined with blank lines. Redash dashboards have no description field
redash_version stringRedash release the dashboard was read from, which decides the URL shape
Chart
RedashChartFieldsThe metadata on a Chart asset.
widget_id intRedash widget id
visualization_id intRedash visualization id
visualization_type stringRedash visualization type, for example CHART, TABLE or COUNTER
chart_type stringNormalised chart shape, read from options.globalSeriesType for a CHART
query_id intId of the query the chart renders
query_name stringName of the query the chart renders
data_source stringName of the data source the query runs against
dashboard stringName of the dashboard the chart sits on
url stringLink to the visualization in Redash
is_hidden boolWhether the widget is hidden on the dashboard
Query
RedashQueryFieldsThe metadata on a Data Model Object asset, which is how a saved Redash query is catalogued.
id intRedash query id
description stringQuery description
data_source stringName of the data source the query runs against
data_source_id intRedash data source id
tags string[]Tags set on the query in Redash
owner stringDisplay name of the user who created the query
schedule stringRefresh schedule: interval in seconds, time, day of week and until date
runtime floatSeconds the last run took
is_draft boolWhether the query is unpublished
is_archived boolWhether the query is archived
parameters stringQuery parameters, each with a name, title and type
created_at stringCreation timestamp
updated_at stringLast update timestamp
url stringLink to the query in Redash
Data Source
RedashDataSourceFieldsThe metadata on a DataSource asset. The connection options are copied through an allowlist, so a password is never recorded even when the API returns one.
id intRedash data source id
type stringRedash data source type, for example pg, mysql or snowflake
syntax stringQuery syntax the data source accepts, for example sql or json
view_only boolWhether the data source is read only for the current user
paused boolWhether query execution is paused
pause_reason stringWhy the data source is paused
host stringConnection host
port intConnection port
dbname stringDatabase name
database stringDatabase name, for sources that call it that
catalog stringCatalog name, for Trino, Presto and Databricks
schema stringDefault schema
user stringConnection user
project stringGoogle Cloud project, for BigQuery
dataset stringDataset name
account stringAccount identifier, for Snowflake
warehouse stringWarehouse name, for Snowflake
region stringCloud region
url stringConnection URL, for sources configured with one