Skip to main content
Version: Preview

Redash

Experimental
Creates:
AssetsLineage

Configure in the UI

This plugin can be configured directly in the Marmot UI with a step-by-step wizard.

View Guide

The Redash plugin discovers dashboards, charts, queries and data sources from a Redash instance. It reads the REST API with a user API key, which is shown on the Redash user profile page.

Assets

A dashboard becomes a Dashboard, each visualization widget on it becomes a Chart named <dashboard name>/<visualization name>, each saved query becomes a Data Model Object carrying its SQL, and each connection becomes a DataSource. Redash allows two dashboards or two queries to share a name; a repeat gets its Redash id appended, for example Revenue (2).

Redash dashboards have no description field. The content of any text widgets is recorded in the notes metadata field instead.

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 name is built with the provider and naming rule of the plugin that owns the queried system, so a query against a Postgres data source links to the same table asset the PostgreSQL plugin creates. A data source type Marmot has no identity for produces no table edge. This 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.

Example Configuration


host: "https://redash.example.com"
api_key: "${REDASH_API_KEY}"
include_queries: true
include_data_sources: true
include_drafts: true
include_archived: false
discover_lineage: true
page_size: 100
filter:
include:
- "^Revenue.*"
exclude:
- ".*Scratch$"
tags:
- "redash"
- "bi"

Configuration

The following configuration options are available:

PropertyTypeRequiredDescription
api_keystringtrueRedash user API key, found on the user profile page
discover_lineageboolfalseWhether to link dashboards, charts, queries and the tables they read
external_links[]ExternalLinkfalseExternal links to show on all assets
filterFilterfalseFilter discovered assets by name (regex)
hoststringtrueRedash base URL, for example https://redash.example.com
include_archivedboolfalseWhether to include archived dashboards and queries
include_data_sourcesboolfalseWhether to catalogue data sources
include_draftsboolfalseWhether to include unpublished dashboards and queries
include_queriesboolfalseWhether to catalogue saved queries
page_sizeintfalseResults to request per API page
tagsTagsConfigfalseTags to apply to discovered assets
verify_sslboolfalseWhether to verify the server TLS certificate

Available Metadata

The following metadata fields are available:

FieldTypeDescription
accountstringAccount identifier, for Snowflake
catalogstringCatalog name, for Trino, Presto and Databricks
chart_typestringNormalised chart shape, read from options.globalSeriesType for a CHART
created_atstringCreation timestamp
dashboardstringName of the dashboard the chart sits on
databasestringDatabase name, for sources that call it that
data_sourcestringName of the data source the query runs against
data_source_idintRedash data source id
datasetstringDataset name
dbnamestringDatabase name
descriptionstringQuery description
hoststringConnection host
idintRedash object id
is_archivedboolWhether the object is archived
is_draftboolWhether the object is unpublished
is_hiddenboolWhether the widget is hidden on the dashboard
notesstringText widget content, joined with blank lines
ownerstringDisplay name of the user who created the object
parameters[]objectQuery parameters, each with a name, title and type
pausedboolWhether query execution is paused
pause_reasonstringWhy the data source is paused
portintConnection port
projectstringGoogle Cloud project, for BigQuery
query_countintNumber of distinct queries the dashboard reads
query_idintId of the query the chart renders
query_namestringName of the query the chart renders
redash_versionstringRedash release the dashboard was read from
regionstringCloud region
runtimefloat64Seconds the last run took
scheduleobjectRefresh schedule: interval in seconds, time, day of week and until date
schemastringDefault schema
service_namestringOracle service name
slugstringURL slug
ssl_modestringConnection SSL mode
syntaxstringQuery syntax the data source accepts, for example sql or json
tags[]stringTags set on the object in Redash
typestringRedash data source type, for example pg, mysql or snowflake
updated_atstringLast update timestamp
urlstringLink to the object in Redash
userstringConnection user
view_onlyboolWhether the data source is read only for the current user
visualization_idintRedash visualization id
visualization_typestringRedash visualization type, for example CHART, TABLE or COUNTER
warehousestringWarehouse name, for Snowflake
widget_countintNumber of widgets on the dashboard, text widgets included
widget_idintRedash widget id