Expand visibility to improve health and performance monitoring of your Snowflake accounts.
Snowflake monitoring is based on a remote monitoring approach implemented as a Dynatrace ActiveGate extension. The extension queries the Account Usage and Information Schema for key performance and health metrics, extending your visibility, and allowing DAVIS AI to provide anomaly detection and problem analysis.
snowflake.account.storage.total
: Number of bytes of table storage used, including bytes for data currently in Time Travel.snowflake.account.storage.stage
: Number of bytes of stage storage used by files in all internal stages (named, table, and user).snowflake.account.storage.failsafe
: Number of bytes of data in Fail-safe.snowflake.warehouse.credits.total
: Number of credits billed for this warehouse in this hour.snowflake.warehouse.credits.compute
: Number of credits used for the warehouse in the hour.snowflake.warehouse.credits.cloud-services
: Number of credits used for cloud services in the hour.snowflake.database.storage.total
: Number of bytes of database storage used, including data in Time Travel.snowflake.database.storage.failsafe
: Number of bytes of Fail-safe storage used.Ensure that you have log monitoring enabled to get full log insight.
Steps to activate remote monitoring (version 1.255+):
It is recommended to execute the queries on the smallest possible warehouse. The queries are executed every 30 minutes.
There are two options to configure a user with proper permissions to query Snowflake for metrics.
Create a Dynatrace specific role and user to monitor Snowflake. In Snowflake, run the following to create a custom role with access to the ACCOUNT_USAGE schema.
This extension monitors SNOWFLAKE database, INFORMATION_SCHEMA, and ACCOUNT_USAGE schema. The SNOWFLAKE database is only viewable by users in the ACCOUNTADMIN role or any role granted by the ACCOUNTADMIN.
use role ACCOUNTADMIN;
grant imported privileges on database snowflake to role SYSADMIN;
use role SYSADMIN;
Alternatively, create a special DYNATRACE
role with access to ACCOUNT_USAGE
schema and INFORMATION_SCHEMA
.
create role DYNATRACE;
grant imported privileges on database SNOWFLAKE to role DYNATRACE;
-- Create a user, skip this step if you are using an existing user.
create user DYNATRACE_USER;
LOGIN_NAME = DYNATRACE_USER;
password = '<PASSWORD>';
default_warehouse = <WAREHOUSE>;
default_role = DYNATRACE;
default_namespace = SNOWFLAKE.ACCOUNT_USAGE;
-- Grant the monitor role to the user.
grant role DYNATRACE to user <USER>;