Ведение журнала запросов
Примечание.
Мы отставим Azure HDInsight в AKS 31 января 2025 г. До 31 января 2025 г. необходимо перенести рабочие нагрузки в Microsoft Fabric или эквивалентный продукт Azure, чтобы избежать резкого прекращения рабочих нагрузок. Оставшиеся кластеры в подписке будут остановлены и удалены из узла.
До даты выхода на пенсию будет доступна только базовая поддержка.
Внимание
Эта функция в настоящее время доступна для предварительного ознакомления. Дополнительные условия использования для предварительных версий Microsoft Azure включают более юридические термины, применимые к функциям Azure, которые находятся в бета-версии, в предварительной версии или в противном случае еще не выпущены в общую доступность. Сведения об этой конкретной предварительной версии см. в статье Azure HDInsight в предварительной версии AKS. Для вопросов или предложений функций отправьте запрос на AskHDInsight с подробными сведениями и следуйте за нами для получения дополнительных обновлений в сообществе Azure HDInsight.
Trino поддерживает пользовательские прослушиватели событий, которые можно использовать для прослушивания событий жизненного цикла запросов. Вы можете создать собственные прослушиватели событий или использовать встроенный подключаемый модуль, предоставляемый HDInsight в AKS, который регистрирует события в Хранилище BLOB-объектов Azure.
Вы можете включить встроенное ведение журнала запросов двумя способами:
Во время создания кластера Trino можно включить встроенное ведение журнала запросов, включив каталог hive.
Вы можете включить встроенное ведение журнала запросов в кластере с помощью шаблона ARM.
В этой статье описывается добавление ведения журнала запросов в кластер с помощью шаблона ARM.
Необходимые компоненты
- Операционный кластер Trino с HDInsight в AKS.
- Создайте шаблон ARM для кластера.
- Просмотрите полный пример шаблона ARM кластера.
- Знакомство с разработкой и развертыванием шаблонов ARM.
Включение ведения журнала запросов
Чтобы включить встроенный подключаемый модуль ведения журнала запросов в кластере Trino, добавьте или обновите clusterProfile.trinoProfile.userTelemetrySpec
раздел со следующими свойствами в шаблоне ARM кластера.
Свойство | Description |
---|---|
path |
Полный путь к каталогу, используемому в качестве корневого каталога для записи различных журналов запросов. |
hivecatalogName |
Этот каталог используется для подключения внешних таблиц к файлам, записанным в учетной записи хранения. Этот каталог необходимо добавить в кластер, добавить каталог hive. |
hivecatalogSchema |
Подключаемый модуль ведения журнала запросов использует эту схему для подключения внешней таблицы для журналов, подключаемый модуль создает эту схему, если она еще не существует. Значение по умолчанию- trinologs |
partitionRetentionInDays |
Подключаемый модуль ведения журнала запросов удаляет секции в таблицах журналов, которые старше указанной конфигурации. Значение по умолчанию- 365 |
В следующем примере показано, как ведение журнала запросов включено в кластере Trino. Добавьте этот пример JSON [*].properties.clusterProfile
в шаблон ARM.
"trinoProfile": {
"userTelemetrySpec": {
"storage": {
"path": "https://querylogstorageaccount.blob.core.windows.net/logs/trinoquerylogs",
"hivecatalogName": "hive",
"hivecatalogSchema": "trinologs",
"partitionRetentionInDays": 365
}
}
}
Разверните обновленный шаблон ARM, чтобы отразить изменения в кластере. Узнайте, как развернуть шаблон ARM.
Примечание.
Подключаемый модуль использует управляемое удостоверение, назначаемое пользователем (MSI), привязанное к кластеру для проверки подлинности в хранилище, добавьте
Contributor
иStorage Blob Data Owner
получите доступ к MSI, чтобы подключаемый модуль может записывать журналы в учетную запись хранения.
Назначаемое пользователем имя MSI отображается в свойствеmsiResourceId
в json ресурса кластера. Узнайте, как назначить роль.PartitionRetentionInDays удаляет только секцию метаданных из подключенной таблицы, она не удаляет данные. При необходимости очистите данные в соответствии с вашими требованиями.
Управление метаданными
Если пользователь указывает имя каталога в свойстве, подключаемый модуль подключает файлы журналов, записанные в hiveCatalogName
учетной записи хранения как внешние таблицы и представления, которые можно запрашивать через Trino.
Подключаемый модуль создает три таблицы и три представления, которые можно использовать для запроса событий жизненного цикла (QueryCompletedEvent
, QueryCreatedEvent
и SplitCompletedEVent
). Эти таблицы и представления создаются в каталоге и схеме, предоставленной как входные данные пользователя.
Имя таблиц:
querycompleted
: содержитQueryCompleted
события, запущенные Trino.querycreated
: содержит, запущенныйQueryCreatedEvents
Trino.splitcompleted
: содержит, запущенныйSplitCompletedEvents
Trino.
Имя представлений:
vquerycompleted
vquerycreated
vsplitcompleted
Примечание.
Пользователям рекомендуется использовать представления, так как они не защищены от изменений базовой схемы и учетной записи описанной таблицы.
Архивация таблиц
Подключаемый модуль поддерживает архивацию (N-1)th таблицы в сценарии, в котором пользователь решает изменить path
или внешнее расположение журналов.
В этом случае подключаемый модуль переименовывает таблицу, указывающую на старый путь как <table_name>_archived, созданное представление объединит результат текущих и архивных таблиц в этом сценарии.
Создание пользовательского подключаемого модуля
Вы также можете создать пользовательский подключаемый модуль прослушивателя событий, следуйте инструкциям в документации, разверните настраиваемые подключаемые модули, выполнив действия по развертыванию подключаемого модуля.