Внес небольшие изменения.
21 KiB
system.query_log
Содержит информацию о выполняемых запросах, например, время начала обработки, продолжительность обработки, сообщения об ошибках.
!!! note "Внимание"
Таблица не содержит входных данных для запросов INSERT
.
Настойки логгирования можно изменить в секции серверной конфигурации query_log.
Можно отключить логгирование настройкой log_queries = 0. По-возможности, не отключайте логгирование, поскольку информация из таблицы важна при решении проблем.
Период сброса данных в таблицу задаётся параметром flush_interval_milliseconds
в конфигурационной секции query_log. Чтобы принудительно записать логи из буффера памяти в таблицу, используйте запрос SYSTEM FLUSH LOGS.
ClickHouse не удаляет данные из таблица автоматически. Смотрите Введение.
Таблица system.query_log
содержит информацию о двух видах запросов:
- Первоначальные запросы, которые были выполнены непосредственно клиентом.
- Дочерние запросы, инициированные другими запросами (для выполнения распределенных запросов). Для дочерних запросов информация о первоначальном запросе содержится в столбцах
initial_*
.
В зависимости от статуса (столбец type
) каждый запрос создаёт одну или две строки в таблице query_log
:
- Если запрос выполнен успешно, создаются два события типа
QueryStart
иQueryFinish
. - Если во время обработки запроса возникла ошибка, создаются два события с типами
QueryStart
иExceptionWhileProcessing
. - Если ошибка произошла ещё до запуска запроса, создается одно событие с типом
ExceptionBeforeStart
.
Столбцы:
type
(Enum8) — тип события, произошедшего при выполнении запроса. Значения:'QueryStart' = 1
— успешное начало выполнения запроса.'QueryFinish' = 2
— успешное завершение выполнения запроса.'ExceptionBeforeStart' = 3
— исключение перед началом обработки запроса.'ExceptionWhileProcessing' = 4
— исключение во время обработки запроса.
event_date
(Date) — дата начала запроса.event_time
(DateTime) — время начала запроса.event_time_microseconds
(DateTime) — время начала запроса с точностью до микросекунд.query_start_time
(DateTime) — время начала обработки запроса.query_start_time_microseconds
(DateTime64) — время начала обработки запроса с точностью до микросекунд.query_duration_ms
(UInt64) — длительность выполнения запроса в миллисекундах.read_rows
(UInt64) — общее количество строк, считанных из всех таблиц и табличных функций, участвующих в запросе. Включает в себя обычные подзапросы, подзапросы дляIN
иJOIN
. Для распределенных запросовread_rows
включает в себя общее количество строк, прочитанных на всех репликах. Каждая реплика передает собственное значениеread_rows
, а сервер-инициатор запроса суммирует все полученные и локальные значения. Объемы кэша не учитываюся.read_bytes
(UInt64) — общее количество байтов, считанных из всех таблиц и табличных функций, участвующих в запросе. Включает в себя обычные подзапросы, подзапросы дляIN
иJOIN
. Для распределенных запросовread_bytes
включает в себя общее количество байтов, прочитанных на всех репликах. Каждая реплика передает собственное значениеread_bytes
, а сервер-инициатор запроса суммирует все полученные и локальные значения. Объемы кэша не учитываюся.written_rows
(UInt64) — количество записанных строк для запросовINSERT
. Для других запросов, значение столбца 0.written_bytes
(UInt64) — объём записанных данных в байтах для запросовINSERT
. Для других запросов, значение столбца 0.result_rows
(UInt64) — количество строк в результате запросаSELECT
или количество строк в запросеINSERT
.result_bytes
(UInt64) — объём RAM в байтах, использованный для хранения результата запроса.memory_usage
(UInt64) — потребление RAM запросом.current_database
(String) — имя текущей базы данных.query
(String) — текст запроса.normalized_query_hash
(UInt64) — идентичная хэш-сумма без значений литералов для аналогичных запросов.query_kind
(LowCardinality(String)) — тип запроса.databases
(Array(LowCardinality(String))) — имена баз данных, присутствующих в запросе.tables
(Array(LowCardinality(String))) — имена таблиц, присутствующих в запросе.columns
(Array(LowCardinality(String))) — имена столбцов, присутствующих в запросе.exception_code
(Int32) — код исключения.exception
(String) — сообщение исключения, если запрос завершился по исключению.stack_trace
(String) — stack trace. Пустая строка, если запрос успешно завершен.is_initial_query
(UInt8) — вид запроса. Возможные значения:- 1 — запрос был инициирован клиентом.
- 0 — запрос был инициирован другим запросом при выполнении распределенного запроса.
user
(String) — пользователь, запустивший текущий запрос.query_id
(String) — ID запроса.address
(IPv6) — IP адрес, с которого пришел запрос.port
(UInt16) — порт, с которого клиент сделал запросinitial_user
(String) — пользователь, запустивший первоначальный запрос (для распределенных запросов).initial_query_id
(String) — ID родительского запроса.initial_address
(IPv6) — IP адрес, с которого пришел родительский запрос.initial_port
(UInt16) — порт, с которого клиент сделал родительский запрос.interface
(UInt8) — интерфейс, с которого ушёл запрос. Возможные значения:- 1 — TCP.
- 2 — HTTP.
os_user
(String) — имя пользователя операционной системы, который запустил clickhouse-client.client_hostname
(String) — имя сервера, с которого присоединился clickhouse-client или другой TCP клиент.client_name
(String) — clickhouse-client или другой TCP клиент.client_revision
(UInt32) — ревизия clickhouse-client или другого TCP клиента.client_version_major
(UInt32) — старшая версия clickhouse-client или другого TCP клиента.client_version_minor
(UInt32) — младшая версия clickhouse-client или другого TCP клиента.client_version_patch
(UInt32) — патч clickhouse-client или другого TCP клиента.http_method
(UInt8) — HTTP метод, инициировавший запрос. Возможные значения:- 0 — запрос запущен с интерфейса TCP.
- 1 —
GET
. - 2 —
POST
.
http_user_agent
(String) — HTTP заголовокUserAgent
.http_referer
(String) — HTTP заголовокReferer
(содержит полный или частичный адрес страницы, с которой был выполнен запрос).forwarded_for
(String) — HTTP заголовокX-Forwarded-For
.quota_key
(String) —ключ квоты
из настроек квот (см.keyed
).revision
(UInt32) — ревизия ClickHouse.log_comment
(String) — комментарий к записи в логе. Представляет собой произвольную строку, длина которой должна быть не больше, чем max_query_size. Если нет комментария, то пустая строка.thread_ids
(Array(UInt64)) — идентификаторы потоков, участвующих в обработке запросов.ProfileEvents.Names
(Array(String)) — счетчики для изменения различных метрик. Описание метрик можно получить из таблицы system.events(#system_tables-eventsProfileEvents.Values
(Array(UInt64)) — метрики, перечисленные в столбцеProfileEvents.Names
.Settings.Names
(Array(String)) — имена настроек, которые меняются, когда клиент выполняет запрос. Чтобы разрешить логирование изменений настроек, установите параметрlog_query_settings
равным 1.Settings.Values
(Array(String)) — значения настроек, которые перечислены в столбцеSettings.Names
.used_aggregate_functions
(Array(String)) — канонические именаагрегатных функций
, использованных при выполнении запроса.used_aggregate_function_combinators
(Array(String)) — канонические именакомбинаторов агрегатных функций
, использованных при выполнении запроса.used_database_engines
(Array(String)) — канонические именадвижков баз данных
, использованных при выполнении запроса.used_data_type_families
(Array(String)) — канонические именасемейств типов данных
, использованных при выполнении запроса.used_dictionaries
(Array(String)) — канонические именаисточников словарей
, использованных при выполнении запроса.used_formats
(Array(String)) — канонические именаформатов
, использованных при выполнении запроса.used_functions
(Array(String)) — канонические именафункций
, использованных при выполнении запроса.used_storages
(Array(String)) — канонические именадвижков таблиц
, использованных при выполнении запроса.used_table_functions
(Array(String)) — канонические именатабличных функций
, использованных при выполнении запроса.
Пример
SELECT * FROM system.query_log WHERE type = 'QueryFinish' AND (query LIKE '%toDate(\'2000-12-05\')%') ORDER BY query_start_time DESC LIMIT 1 FORMAT Vertical;
Row 1:
──────
type: QueryFinish
event_date: 2021-03-18
event_time: 2021-03-18 20:54:18
event_time_microseconds: 2021-03-18 20:54:18.676686
query_start_time: 2021-03-18 20:54:18
query_start_time_microseconds: 2021-03-18 20:54:18.673934
query_duration_ms: 2
read_rows: 100
read_bytes: 800
written_rows: 0
written_bytes: 0
result_rows: 2
result_bytes: 4858
memory_usage: 0
current_database: default
query: SELECT uniqArray([1, 1, 2]), SUBSTRING('Hello, world', 7, 5), flatten([[[BIT_AND(123)]], [[mod(3, 2)], [CAST('1' AS INTEGER)]]]), week(toDate('2000-12-05')), CAST(arrayJoin([NULL, NULL]) AS Nullable(TEXT)), avgOrDefaultIf(number, number % 2), sumOrNull(number), toTypeName(sumOrNull(number)), countIf(toDate('2000-12-05') + number as d, toDayOfYear(d) % 2) FROM numbers(100)
normalized_query_hash: 17858008518552525706
query_kind: Select
databases: ['_table_function']
tables: ['_table_function.numbers']
columns: ['_table_function.numbers.number']
exception_code: 0
exception:
stack_trace:
is_initial_query: 1
user: default
query_id: 58f3d392-0fa0-4663-ae1d-29917a1a9c9c
address: ::ffff:127.0.0.1
port: 37486
initial_user: default
initial_query_id: 58f3d392-0fa0-4663-ae1d-29917a1a9c9c
initial_address: ::ffff:127.0.0.1
initial_port: 37486
interface: 1
os_user: sevirov
client_hostname: clickhouse.ru-central1.internal
client_name: ClickHouse
client_revision: 54447
client_version_major: 21
client_version_minor: 4
client_version_patch: 1
http_method: 0
http_user_agent:
http_referer:
forwarded_for:
quota_key:
revision: 54449
log_comment:
thread_ids: [587,11939]
ProfileEvents.Names: ['Query','SelectQuery','ReadCompressedBytes','CompressedReadBufferBlocks','CompressedReadBufferBytes','IOBufferAllocs','IOBufferAllocBytes','ArenaAllocChunks','ArenaAllocBytes','FunctionExecute','TableFunctionExecute','NetworkSendElapsedMicroseconds','SelectedRows','SelectedBytes','ContextLock','RWLockAcquiredReadLocks','RealTimeMicroseconds','UserTimeMicroseconds','SystemTimeMicroseconds','SoftPageFaults','OSCPUVirtualTimeMicroseconds','OSWriteBytes']
ProfileEvents.Values: [1,1,36,1,10,2,1048680,1,4096,36,1,110,100,800,77,1,3137,1476,1101,8,2577,8192]
Settings.Names: ['load_balancing','max_memory_usage']
Settings.Values: ['random','10000000000']
used_aggregate_functions: ['groupBitAnd','avg','sum','count','uniq']
used_aggregate_function_combinators: ['OrDefault','If','OrNull','Array']
used_database_engines: []
used_data_type_families: ['String','Array','Int32','Nullable']
used_dictionaries: []
used_formats: []
used_functions: ['toWeek','CAST','arrayFlatten','toTypeName','toDayOfYear','addDays','array','toDate','modulo','substring','plus']
used_storages: []
used_table_functions: ['numbers']
Смотрите также
- system.query_thread_log — в этой таблице содержится информация о цепочке каждого выполненного запроса.