Skip to content

Query Analysis

Query Analysis - плагин который работает как Event Listener для Trino, который обеспечивает анализ, контроль и логирование пользовательских запросов.

Установка

Скопируйте файл trino-query-analysis-{version}.jar в каталог плагинов Trino <path_to_trino>/plugin.

Настройка

Заполнить конфигурационный файл <path_to_trino>/etc/event-listener.properties

Имя параметра Описание
event-listener.name Объявление о использовании Query Analysis. Обязательное значение: query-analysis
trino.queryanalysis.log4j2.configLocation Расположение файла конфигурации Log4j
trino.queryanalysis.log.queryCreatedEvent Boolean значение для отслеживания создания запросов
trino.queryanalysis.log.queryCompletedEvent Boolean значение для отслеживания завершения запросов
trino.queryanalysis.log.splitCompletedEvent Boolean значение для отслеживания завершения разделов
trino.queryanalysis.userName Имя пользователя для аутентификации из Active Directory
trino.queryanalysis.userPassword Пароль для аутентификации из Active Directory
trino.queryanalysis.urlJDBC URL для подключения Trino JDBC-драйвера
trino.queryanalysis.sentry.dsn Установка значения DSN из Sentry, где ошибки будут экспортированы
trino.queryanalysis.sentry.traces-sample-rate Установка значения для захвата 100% транзакций для мониторинга производительности
trino.queryanalysis.tpcdsDB.dbhost Хост базы данных tpcdsDB
trino.queryanalysis.tpcdsDB.dbport Порт базы данных tpcdsDB
trino.queryanalysis.tpcdsDB.database Имя базы данных tpcdsDB
trino.queryanalysis.tpcdsDB.username Имя пользователя для базы данных tpcdsDB
trino.queryanalysis.tpcdsDB.password Пароль для базы данных tpcdsDB
trino.queryanalysis.tpcdsDB.schema Схема для базы данных tpcdsDB
trino.queryanalysis.tpcdsDB.cacheRefreshIntervalMinutes Время обновления кэша в минутах
otel.exporter.endpoint URI для экспорта OTEL
log-filters.forbidden-patterns Паттерны, которые должны быть исключены из логов
log-filters.clean-nodes Ноды, которые необходимо очистить от секций
log-filters.exclude-sections Секции, которые следует удалить из нод
log-filters.forbidden-sources Источники, которые следует удалить из логов

Настроить log4j

Заполнить конфигурационный файл <path_to_trino>/etc/queryanalysis-log4j2.xml

Пример заполнения:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="warn" name="QueryAnalysis" packages="">
    <Appenders>
        <RollingFile name="JsonRollingFile">
            <FileName>/var/log/trino/query-analysis.log</FileName>
            <FilePattern>/var/log/trino/%d{yyyy-MM-dd-hh}-%i.log</FilePattern>
            <PatternLayout pattern="%m%n"/>
            <Policies>
                <SizeBasedTriggeringPolicy size="10 MB"/>
            </Policies>
            <DefaultRolloverStrategy max="10"/>
        </RollingFile>
    </Appenders>
    <Loggers>
        <Root level="INFO">
            <AppenderRef ref="JsonRollingFile"/>
        </Root>
    </Loggers>
</Configuration>