Перейти к основному содержимому

Настройка Cost Insights

В этом руководстве описана настройка Cost Insights для отслеживания затрат на вычисления в хранилище данных и их сокращения благодаря dbt State и оркестрации с учетом состояния в ваших проектах и моделях dbt.

Предварительные требования​

Перед настройкой Cost Insights убедитесь, что у вас есть:

Чтобы настроить Cost Insights, выполните следующие действия:

  1. Назначьте необходимые разрешения.
  2. Настройте учетные данные для метаданных платформы.
  3. (Необязательно) Настройте параметры Cost Insights.
  4. (Необязательно, только для Snowflake) Настройте пользовательские переопределения отношений.
  5. (Необязательно) Включите dbt State или оркестрацию с учетом состояния в настройках задания.

После выполнения этих шагов вы сможете просматривать данные о затратах и оптимизации в различных разделах dbt platform. Подробнее о разделе Cost Insights и его использовании см. в Обзоре данных о затратах.

Назначение необходимых разрешений​

Пользователи со следующими наборами разрешений по умолчанию могут просматривать данные о затратах:

  • Account Admin
  • Account Viewer
  • Cost Insights Admin
  • Cost Insights Viewer
  • Database Admin
  • Git Admin
  • Job Admin
  • Project Creator
  • Team Admin

Подробнее о назначении разрешений пользователям см. в разделе О доступе пользователей.

Настройка учетных данных для метаданных платформы​

  1. Нажмите на имя своей учетной записи в нижней части левого меню и выберите Account settings.

  2. В разделе Settings перейдите в Connections.

  3. Выберите существующее подключение или создайте новое для проекта, в котором вы хотите включить Cost Insights.

  4. Настройте учетные данные для метаданных платформы для вашего подключения.

    1. Перейдите в раздел Platform metadata credentials. В зависимости от текущей конфигурации вы можете увидеть один из следующих вариантов:

      • Если учетные данные для метаданных платформы еще не настроены, форма учетных данных сразу открывается в режиме редактирования.
      • Если вы ранее закрыли форму и видите Add credentials, нажмите эту кнопку, чтобы снова открыть форму.
      • Если у вас несколько подключений с одним и тем же идентификатором учетной записи, вам будет предложено добавить учетные данные для метаданных платформы только для одного из них. В остальных подключениях с тем же идентификатором учетной записи появится сообщение о том, что учетные данные для метаданных платформы уже настроены.
    2. Добавьте учетные данные с разрешениями на доступ к таблицам хранилища данных. Разверните раздел каждого подключения, чтобы увидеть необходимые разрешения.

       Snowflake
      • Разрешения read для схем ORGANIZATION_USAGE и ACCOUNT_USAGE
      • Роль базы данных Snowflake, которой предоставлен доступ к следующим объектам:
        • ACCOUNT_USAGE.QUERY_HISTORY

        • ACCOUNT_USAGE.QUERY_ATTRIBUTION_HISTORY

        • ORGANIZATION_USAGE.USAGE_IN_CURRENCY_DAILY (необязательно)

        • ACCOUNT_USAGE.QUERY_METERING_HISTORY (необязательно; требуется для отнесения затрат к запросам Adaptive Warehouse)

          Если доступ к QUERY_METERING_HISTORY не предоставлен, стоимость запросов Adaptive Warehouse отображается в Cost Insights как $0, а при проверке подключения появляется предупреждение. Подробнее см. в документации Snowflake.

      примечание

      Если у вас нет доступа к системной базе данных SNOWFLAKE, вы можете настроить пользовательские переопределения отношений, чтобы Cost Insights использовал ваши собственные таблицы или представления.

       BigQuery
      • bigquery.datasets.get
      • bigquery.jobs.create
      • bigquery.jobs.listAll
       Databricks

      Подробнее см. в документации Databricks о предоставлении доступа к системным таблицам.

       Amazon RedshiftПредварительная версия

      По умолчанию пользователи Redshift могут просматривать только собственные запросы. Чтобы относить затраты к вашим запускам dbt, dbt должен иметь возможность получать из SYS_QUERY_HISTORY запросы всех пользователей. Предоставьте пользователю, указанному в учетных данных для метаданных платформы, одно из следующих разрешений:

      • Роль sys:monitor (рекомендуется):
        GRANT ROLE sys:monitor TO <user>;
      • Неограниченный доступ к syslog:
        ALTER USER <user> SYSLOG ACCESS UNRESTRICTED;

      Подробнее см. в документации Amazon Redshift о разрешениях для расширенного мониторинга запросов.

      При проверке подключения dbt проверяет видимость запросов других пользователей. Если учетные данные позволяют видеть только собственные запросы, проверка завершается неудачей и данные о затратах для этой среды не обрабатываются.

  5. Убедитесь, что в разделе Features включена опция Cost insights. Эта функция включается по умолчанию при настройке учетных данных для метаданных платформы.

  6. Нажмите Save.

Настройка параметров Cost Insights (необязательно)​

Примечание: Этот шаг обязателен для пользователей Amazon Redshift. Если цена не настроена, затраты будут отображаться как $0.

По умолчанию dbt использует стандартные тарифы хранилища данных, которые можно переопределить, если у вас есть индивидуальные ценовые соглашения. Для Databricks и Amazon Redshift значений по умолчанию нет. Значения по умолчанию зависят от хранилища данных:

Хранилище данныхЗначения по умолчанию
Snowflakeprice_per_credit = $3
BigQueryprice_per_slot_hour = $0.04, price_per_tib = $6.25
Databricksdbt напрямую запрашивает системную таблицу list_prices, поэтому значения по умолчанию нет.
Amazon Redshift Serverlessrpu_price_per_hour — значения по умолчанию нет; до настройки затраты отображаются как $0.
Amazon Redshift Provisionednode_price_per_hour — значения по умолчанию нет; до настройки затраты отображаются как $0.

Чтобы изменить значение по умолчанию:

  1. Нажмите на имя своей учетной записи в нижней части левого меню и выберите Account settings.
  2. В разделе Settings перейдите в Connections.
  3. Выберите подключение, для которого вы хотите настроить параметры Cost Insights.
  4. Перейдите в раздел Cost Insights settings.
  5. Введите свое значение в поле Price per credit.
  6. Нажмите Save.

Эти пользовательские значения будут применяться ко всем последующим расчетам затрат для этого подключения. Если вы удалите эти значения, будут восстановлены стандартные тарифы хранилища данных.

Настройка пользовательских переопределений отношений (необязательно) Закрытая бета-версия​

Функция в закрытом бета-тестировании

Эта функция доступна только для подключений Snowflake с включенным Cost Insights. Чтобы присоединиться к закрытому бета-тестированию, свяжитесь с представителем, обслуживающим вашу учетную запись.

Если вы используете Snowflake и ваши учетные данные не дают доступа к системной базе данных SNOWFLAKE, вы можете использовать собственные таблицы или представления вместо стандартных системных таблиц Snowflake, к которым обращается Cost Insights. Необязательно переопределять все три таблицы — для любой таблицы, которую вы не настроите, будет использоваться стандартная системная таблица Snowflake.

Чтобы настроить пользовательские переопределения отношений:

  1. Нажмите на имя своей учетной записи в нижней части левого меню и выберите Account settings.
  2. В разделе Settings перейдите в Connections.
  3. Выберите подключение Snowflake, для которого вы хотите настроить пользовательские переопределения отношений.
  4. Перейдите в раздел Cost Insights settings и прокрутите до Custom relation overrides.
  5. Введите полное имя в одно или несколько следующих полей. Каждое значение должно быть полным идентификатором вида database.schema.table (без кавычек или в двойных кавычках).
    • Custom query history relation: заменяет SNOWFLAKE.ACCOUNT_USAGE.QUERY_HISTORY.
    • Custom query attribution history relation: заменяет SNOWFLAKE.ACCOUNT_USAGE.QUERY_ATTRIBUTION_HISTORY.
    • Custom usage in currency daily relation: заменяет SNOWFLAKE.ORGANIZATION_USAGE.USAGE_IN_CURRENCY_DAILY.
  6. Нажмите Save.

Включение dbt State (необязательно)​

Оркестрация с учетом состояния теперь называется dbt State

dbt State работает со всеми движками и средами: dbt v1, dbt platform и dbt v2

Если вы использовали оркестрацию с учетом состояния до 1 июня 2026 года, вы можете продолжать ее использовать. Когда вы начнете бесплатный пробный период dbt State, он будет продлен сверх стандартных 30 дней. Если продление не применено к вашей учетной записи, обратитесь к команде по работе с вашим аккаунтом. Чтобы начать, ознакомьтесь с разделом Переход с оркестрации с учетом состояния.

Cost Insights отображает данные о затратах для ваших моделей и заданий dbt и без dbt State. Однако, чтобы оценить влияние оптимизаций и увидеть сокращение затрат благодаря повторному использованию моделей и тестов, необходимо включить dbt State в ваших заданиях. Инструкции по включению см. в разделе Настройка dbt State.

Cost Insights также отражает сокращение затрат и повышение эффективности благодаря оркестрации с учетом состояния, если она включена.

примечание

Для аккаунтов, в которых dbt State или оркестрация с учетом состояния использовались еще до включения Cost Insights, за последние 10 дней должна быть выполнена хотя бы одна полная сборка моделей, чтобы определить базовый уровень для расчета снижения затрат. Если данные о снижении затрат не отображаются, попробуйте выполнить полную сборку, чтобы определить базовый уровень.

Отключение Cost Insights​

Чтобы отключить Cost Insights, необходимо иметь роль администратора.

  1. Нажмите на имя своей учетной записи в нижней части левого меню и выберите Account settings.
  2. В разделе Settings перейдите в Connections.
  3. Выберите подключение, для которого вы хотите отключить Cost Insights.
  4. Перейдите в Platform metadata credentials и нажмите Edit.
  5. Перейдите в раздел Features и снимите флажок Cost Insights.
  6. Нажмите Save.

Нашли ошибку?

0
Loading