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>