Расширение Snowflake

Материал из Документация Ключ-АСТРОМ

Расширение Snowflake

Улучшение мониторинга здоровья и производительности вашего Snowflake с помощью метрик и Ключ-АСТРОМ Intelligence.

Обзор

Мониторинг Snowflake основан на подходе удалённого мониторинга, реализованном как расширение АктивныйШлюз в Ключ-АСТРОМ. Расширение запрашивает Account Usage и Information Schema для получения ключевых метрик производительности и здоровья. Оно расширяет вашу видимость, позволяя Ключ-АСТРОМ Intelligence обеспечивать обнаружение аномалий и анализ первопричин.

Варианты использования

Используйте это расширение для:

  • Мониторинга текущего состояния вашей учётной записи Snowflake.
  • Улучшения видимости выставления счетов и кредитов.
  • Мониторинга тенденций потребления хранилища.
  • Мониторинга того, сколько времени потребляет каждый склад.
  • Мониторинга доступности учётной записи Snowflake.

Требования

Убедитесь, что выполнены следующие предварительные требования.

  • Назначьте одну или несколько групп АктивныйШлюз, которые будут удалённо подключаться к вашему серверу базы данных Snowflake для извлечения данных. Все АктивныеШлюзы в каждой группе должны подключаться к вашей базе данных Snowflake.
  • Включите мониторинг логов.
  • Создайте выделенного пользователя базы данных в вашем экземпляре базы данных с необходимыми разрешениями. Ключ-АСТРОМ использует этого пользователя для выполнения запросов мониторинга к вашей базе данных Snowflake.
  • Пользователь или роль с доступом к следующим схемам:
  * INFORMATION_SCHEMA
  * ACCOUNT_USAGE
  • Пользователь должен иметь роль ACCOUNTADMIN или роль, предоставленную пользователем ACCOUNTADMIN.

Настройка пользователя с разрешениями

Создание роли, специфичной для Ключ-АСТРОМ

Создайте специальную роль ASTROMKEY. В Snowflake выполните следующее, чтобы создать роль:

use role ACCOUNTADMIN;
grant imported privileges on database snowflake to role SYSADMIN;

use role SYSADMIN;

create role ASTROMKEY;
grant imported privileges on database SNOWFLAKE to role ASTROMKEY;

-- Create a user, skip this step if you are using an existing user.
create user ASTROMKEY_USER;
LOGIN_NAME = ASTROMKEY_USER;
password = '<PASSWORD>';
default_warehouse = <WAREHOUSE>;
default_role = ASTROMKEY;
default_namespace = SNOWFLAKE.ACCOUNT_USAGE;

-- Grant the monitor role to the user.
grant role ASTROMKEY to user <USER>;

Активация и настройка

Выполните следующие шаги, чтобы настроить ваше устройство для мониторинга базы данных Snowflake.

Добавление экземпляра БД

  1. Перейдите в раздел Расширения.
  2. Выберите и установите расширение Snowflake. Это включает расширение в вашей среде мониторинга.
  * Требуемое разрешение: Изменение настроек мониторинга
  1. Выберите Добавить экземпляр БД в приложении Базы данных. Откроется мастер Добавить экземпляр БД.
  2. Выберите раздел Snowflake в мастере.

Выбор типа размещения

Выберите тип размещения из предложенных вариантов. Этот выбор определяет, какой скрипт создаст необходимые объекты базы данных на более позднем этапе процесса.

  1. В мастере Добавить экземпляр БД выберите тип хоста, соответствующий вашим требованиям.
  2. Выберите Далее.

Выбор группы АктивныйШлюз

Выберите группу АктивныйШлюз, чтобы определить, какие АктивныеШлюзы будут запускать расширение.

Выберите Следующий шаг.

Создание подключения

Прекращение поддержки однофакторных входов в систему Если вы используете базовую аутентификацию (аутентификацию по паролю) для подключения к Snowflake, перейдите на токены программного доступа (PAT) или используйте агент наблюдаемости Snowflake от Ключ-АСТРОМ.

Настройте подключение к вашему экземпляру базы данных. Укажите необходимые учётные данные непосредственно в мастере или используйте безопасные альтернативы:

  1. Назовите подключение, чтобы вы могли идентифицировать его позже.
  2. Добавьте данные в разделе Настроить подключение.
  3. Выберите подключение. Используйте Выбрать из существующих хостов или Ввести вручную, чтобы добавить данные подключения.
  4. Добавьте Имя базы данных, Схему и Склад.
  5. Предоставьте учётные данные для аутентификации пользователя мониторинга astromkey, которого вы создали, напрямую или используйте безопасные альтернативы.
  * Токен программного доступа: используйте токен программного доступа (PAT) для более безопасной аутентификации.
  * Хранилище учётных данных: используйте учётные данные из хранилища для безопасного хранения и извлечения учётных данных базы данных.
  1. Выберите Далее.

Установка экземпляра

Добавьте ручные конфигурации на основе требований мониторинга.

Добавление конфигураций для мониторинга экземпляра

  • Укажите полный хост Snowflake для подключения (например, zzyxxx-tc12345.snowflakecomputing.com)
  • Укажите имя базы данных для подключения и склад, который будет выполнять запросы мониторинга

Потребление склада

  • Данные в наборе функций Queries извлекаются каждый час.
  • Данные в наборе функций Default извлекаются каждые 720 минут.
  • Выполнение запросов извлечения данных требует активного склада для обоих наборов функций.
  • Метрика snowflake.account.availability является исключением. Она извлекается каждую минуту и не требует склада.

Выберите Создать мониторинг экземпляра БД.

Детали

Лицензирование и затраты

Использование расширения бесплатно. Вы платите только за данные, которые собирает расширение.

Расширение Snowflake собирает пользовательские метрики, которые потребляют Davis Data Units (DDU) (классическая лицензия Ключ-АСТРОМ) или метрики в соответствии с вашей моделью лицензирования.

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

default: 9 x Snowflake Warehouse + 7 x Snowflake Account

Формула оценивает несколько метрик на набор функций и множитель в зависимости от того, по какой сущности разбивается метрика.

Подписка на платформу Ключ-АСТРОМ

В подписке на платформу Ключ-АСТРОМ приём метрик потребляет метрики в соответствии с количеством принятых точек данных метрик.

Чтобы рассчитать приблизительное годовое потребление, примените следующую формулу: <количество точек данных метрик в минуту> * 60 минут * 24 часа * 365 дней.

Это расширение также может принимать логи, если выбран набор функций queries.

Классическая лицензия Ключ-АСТРОМ

В классической модели лицензирования приём метрик потребляет Davis Data Units (DDU) со скоростью 0,001 DDU на точку данных метрики. Умножьте приведённую выше формулу для годовых точек данных на 0,001, чтобы оценить годовое использование DDU.

Стоимость DDU, указанная выше, не включает возможные события логов или пользовательские события, запускаемые расширением.

DQL и логи

Для выполнения запросов DQL необходимо включить набор функций Queries.

Пример запроса DQL, который выводит самые длительные запросы:

fetch logs
| filter matchesValue(dt.extension.name, "com.astromkey.extension.sql-snowflake")
| filter matchesValue(event.group, "longest_queries")
| sort asDouble(execution_status) desc

Пример запроса DQL, который выводит неудачные запросы:

fetch logs | filter matchesValue(dt.extension.name, "com.astromkey.extension.sql-snowflake") | filter matchesValue(event.group, "failed_queries") | sort timestamp desc

Наборы функций

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

В сильно сегментированных сетях наборы функций могут отражать сегменты вашей среды. Затем при создании конфигурации мониторинга вы можете выбрать набор функций и соответствующую группу АктивныйШлюз, которая может подключиться к этому конкретному сегменту.

Все метрики, не отнесённые ни к одному набору функций, считаются стандартными и всегда сообщаются.

Метрика наследует набор функций подгруппы, которая, в свою очередь, наследует набор функций группы. Кроме того, набор функций, определённый на уровне метрики, переопределяет набор функций, определённый на уровне подгруппы, который, в свою очередь, переопределяет набор функций, определённый на уровне группы.

Queries

Название метрики Ключ метрики Описание

storage

Название метрики Ключ метрики Описание
Account table storage bytes snowflake.account.storage.table Количество байтов хранилища таблиц, используемых, включая байты для данных, находящихся в Time Travel.
Account stage storage bytes snowflake.account.storage.stage Количество байтов хранилища этапов, используемых файлами во всех внутренних этапах (именованных, табличных и пользовательских).
Account fail-safe storage bytes snowflake.account.storage.failsafe Количество байтов данных в Fail-safe.

runningTime

Название метрики Ключ метрики Описание
Warehouse compilation time snowflake.account.warehouse.time.compilation Время компиляции запроса на склад.
Warehouse execution time snowflake.account.warehouse.time.execution Время выполнения запроса на склад.
Warehouse elapsed time snowflake.account.warehouse.time.elapsed Общее прошедшее время запроса на склад.
Warehouse queued provisioning time snowflake.account.warehouse.time.queued.provisioning Время подготовки в очереди запроса на склад.
Warehouse queued overload time snowflake.account.warehouse.time.queued.overload Время перегрузки в очереди запроса на склад.
Warehouse blocked time snowflake.account.warehouse.time.blocked Время блокировки запроса на склад.

accountCredits

Название метрики Ключ метрики Описание
Account compute credits snowflake.account.credits.compute Количество кредитов, использованных складами и бессерверными вычислительными ресурсами.
Account cloud services credits snowflake.account.credits.cloudServices Количество кредитов, использованных для облачных сервисов.
Account total credits used snowflake.account.credits.total Общее количество кредитов, использованных учётной записью.

warehouseCredits

Название метрики Ключ метрики Описание
Warehouse compute credits used snowflake.account.warehouse.credits.compute Количество кредитов, использованных для склада.
Warehouse cloud services credits used snowflake.account.warehouse.credits.cloudServices Количество кредитов, использованных для облачных сервисов для склада.
Warehouse credits used snowflake.account.warehouse.credits.total Количество кредитов, выставленных за склад.

default

Название метрики Ключ метрики Описание
Snowflake availability snowflake.account.availability Отвечает ли Snowflake на запросы или нет

Расширения

Изучите в разделе Расширения.

Расширьте видимость для улучшения мониторинга здоровья и производительности вашей базы данных Snowflake.