Help wanted!
The following content of this documentation page has been machine-translated. But unlike other websites, it is not done on the fly. This translated text lives on GitHub repository alongside main ClickHouse codebase and waits for fellow native speakers to make it more human-readable. You can also use the original English version as a reference.
Help ClickHouse documentation by editing this page
system.query_log
包含已执行查询的相关信息,例如:开始时间、处理持续时间、错误消息。
注
此表不包含以下内容的摄取数据 INSERT
查询。
您可以更改query_log的设置,在服务器配置的 query_log 部分。
您可以通过设置 log_queries=0来禁用query_log. 我们不建议关闭此日志,因为此表中的信息对于解决问题很重要。
数据刷新的周期可通过 flush_interval_milliseconds
参数来设置 query_log 。 要强制刷新,请使用 SYSTEM FLUSH LOGS。
ClickHouse不会自动从表中删除数据。更多详情请看 introduction 。
system.query_log
表注册两种查询:
- 客户端直接运行的初始查询。
- 由其他查询启动的子查询(用于分布式查询执行)。 对于这些类型的查询,有关父查询的信息显示在
initial_*
列。
每个查询在query_log
表中创建一或两行记录,这取决于查询的状态(见 type
列):
- 如果查询执行成功,会创建type分别为
QueryStart
和QueryFinish
的两行记录。 - 如果在查询处理过程中发生错误,会创建type分别为
QueryStart
和ExceptionWhileProcessing
的两行记录。 - 如果在启动查询之前发生错误,则创建一行type为
ExceptionBeforeStart
的记录。
列:
type
(Enum8) — 执行查询时的事件类型. 值:'QueryStart' = 1
— 查询成功启动.'QueryFinish' = 2
— 查询成功完成.'ExceptionBeforeStart' = 3
— 查询执行前有异常.'ExceptionWhileProcessing' = 4
— 查询执行期间有异常.
event_date
(Date) — 查询开始日期.event_time
(DateTime) — 查询开始时间.event_time_microseconds
(DateTime64) — 查询开始时间(毫秒精度).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) — 查询使用的内存.query
(String) — 查询语句.exception
(String) — 异常信息.exception_code
(Int32) — 异常码.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客户端的Revision。client_version_major
(UInt32) — clickhouse-client 或其他TCP客户端的Major version。client_version_minor
(UInt32) — clickhouse-client 或其他TCP客户端的Minor version。client_version_patch
(UInt32) — clickhouse-client 或其他TCP客户端的Patch component。http_method
(UInt8) — 发起查询的HTTP方法. 可能值:- 0 — TCP接口的查询.
- 1 —
GET
- 2 —
POST
http_user_agent
(String) — TheUserAgent
The UserAgent header passed in the HTTP request。quota_key
(String) — 在quotas 配置里设置的“quota key” (见keyed
).revision
(UInt32) — ClickHouse revision.ProfileEvents
(Map(String, UInt64))) — Counters that measure different metrics. The description of them could be found in the table 系统。活动Settings
(Map(String, String)) — Names of settings that were changed when the client ran the query. To enable logging changes to settings, set thelog_query_settings
参数为1。thread_ids
(Array(UInt64)) — 参与查询的线程数.Settings.Names
(Array(String)) — 客户端运行查询时更改的设置的名称。 要启用对设置的日志记录更改,请将log_query_settings参数设置为1。Settings.Values
(Array(String)) —Settings.Names
列中列出的设置的值。
示例
SELECT * FROM system.query_log LIMIT 1 FORMAT Vertical;
Row 1:
──────
type: QueryStart
event_date: 2020-05-13
event_time: 2020-05-13 14:02:28
query_start_time: 2020-05-13 14:02:28
query_duration_ms: 0
read_rows: 0
read_bytes: 0
written_rows: 0
written_bytes: 0
result_rows: 0
result_bytes: 0
memory_usage: 0
query: SELECT 1
exception_code: 0
exception:
stack_trace:
is_initial_query: 1
user: default
query_id: 5e834082-6f6d-4e34-b47b-cd1934f4002a
address: ::ffff:127.0.0.1
port: 57720
initial_user: default
initial_query_id: 5e834082-6f6d-4e34-b47b-cd1934f4002a
initial_address: ::ffff:127.0.0.1
initial_port: 57720
interface: 1
os_user: bayonet
client_hostname: clickhouse.ru-central1.internal
client_name: ClickHouse client
client_revision: 54434
client_version_major: 20
client_version_minor: 4
client_version_patch: 1
http_method: 0
http_user_agent:
quota_key:
revision: 54434
thread_ids: []
ProfileEvents: {'Query':1,'SelectQuery':1,'ReadCompressedBytes':36,'CompressedReadBufferBlocks':1,'CompressedReadBufferBytes':10,'IOBufferAllocs':1,'IOBufferAllocBytes':89,'ContextLock':15,'RWLockAcquiredReadLocks':1}
Settings: {'background_pool_size':'32','load_balancing':'random','allow_suspicious_low_cardinality_types':'1','distributed_aggregation_memory_efficient':'1','skip_unavailable_shards':'1','log_queries':'1','max_bytes_before_external_group_by':'20000000000','max_bytes_before_external_sort':'20000000000','allow_introspection_functions':'1'}
另请参阅
- system.query_thread_log — 这个表包含了每个查询执行线程的信息