Step 1: Grant access
Grant dbt's role access to the snowflake
database:
Step 2: Update packages.yml
Add the package to your packages.yml
file:
Step 3: Enable query tags
- To attribute costs to individual models via the
dbt_metadata
column in thequery_history_enriched
model, query comments and tags are added to all dbt-issued queries. Both query comments and tags are needed to collect the required metadata for thedbt_queries
model. First, make sure to remove any existing+query_tag: dbt
from yourdbt_project.yml
, then add the query tags with one of these two options:
Option 1: If running dbt >= 1.2, simply configure the dispatch search order in dbt_project.yml
.
Option 2: If running dbt < 1.2, create a folder named macros
in your dbt project's top level directory (if it doesn't exist). Inside, make a new file called query_tags.sql
with the following content:
Step 4: Enable query comments
- To configure the query comments, add the following config to
dbt_project.yml
.
That's it! All dbt-issued queries will now be tagged and start appearing in the dbt_queries.sql
model.
Building the models
By default, the models in this package will automatically get built during any full run of your dbt project. If you would like to manually create the models, or run them on a separate schedule, you can do so using dbt's node selection syntax:
dbt run -s dbt_snowflake_monitoring
dbt Cloud URLs
If you're using dbt Cloud, columns dbt_cloud_job_url
and dbt_cloud_run_url
can be configured in the dbt_queries
model. To do so, set the variable dbt_cloud_account_id
. This id can be retrieved from in between /deploy/
and /projects/
in any dbt Cloud URL.
By default, the URL prefix of https://cloud.getdbt.com/deploy/
is used. If you're using a different region of dbt Cloud, this prefix can be overridden by specifying the dbt_cloud_url
variable.
Troubleshooting
No data populated in the tables
If you aren't seeing data populated in the tables (example here), it is possible that your account is missing ORGADMIN
access. Please see here for instructions on enabling ORGADMIN
access in your Snowflake account.