一、常用系统表
1.1 集群配置相关
1、clusters
cluster表主要存储的是ck集群的配置信息。
列字段
字段含义
cluster
集群名称
shard_num
集群分片编号
shard_weight
集群分片权重
replica_num
集群副本编号
host_name
主机名称
host_address
主机IP
port
主机CK服务端口
is_local
是否为本地服务
user
连接CK服务数据库用户
default_database
errors_count
该主机无法访问副本次数
estimated_recovery_time
在复制错误计数归零和它被认为回到正常之前的秒数
-- 配置文件
<shard2_repl0>
<shard>
<replica>
<host>mdw</host>
<port>9000</port>
</replica>
</shard>
<shard>
<replica>
<host>sdw3</host>
<port>9000</port>
</replica>
</shard>
</shard2_repl0>
-- ck服务系统表信息
mdw :) select * from clusters;
SELECT *
FROM clusters
┌─cluster──────┬─shard_num─┬─shard_weight─┬─replica_num─┬─host_name─┬─host_address──┬─port─┬─is_local─┬─user────┬─default_database─┬─errors_count─┬─estimated_recovery_time─┐
│ shard2_repl0 │ 1 │ 1 │ 1 │ mdw │ 172.16.104.11 │ 9000 │ 1 │ default │ │ 0 │ 0 │
│ shard2_repl0 │ 2 │ 1 │ 1 │ sdw3 │ 172.16.104.14 │ 9000 │ 0 │ default │ │ 0 │ 0 │
└──────────────┴───────────┴──────────────┴─────────────┴───────────┴───────────────┴──────┴──────────┴─────────┴──────────────────┴──────────────┴─────────────────────────┘
2 rows in set. Elapsed: 0.008 sec.
2、macros
macros信息主要存储的是该副本或者分片节点在集群中的标识信息。
列字段
字段含义
layer
集群标识
replica
集群副本标识
shard
集群分片标识
-- 配置文件
<macros>
<layer>02</layer>
<shard>02</shard>
<replica>cluster02-02-1</replica>
</macros>
-- 系统配置表
mdw :) select * from macros;
SELECT *
FROM macros
┌─macro───┬─substitution───┐
│ layer │ 02 │
│ replica │ cluster02-02-1 │
│ shard │ 02 │
└─────────┴────────────────┘
3 rows in set. Elapsed: 0.005 sec.
3、disk
disk表主要存储的是ck服务数据存储信息,默认将数据全部存储在数据目录指定目录,磁盘名称为default。若配置多磁盘存储,具体配置信息也会记录在该表。
列字段
字段含义
name
磁盘名称
path
磁盘挂载目录
free_space
磁盘剩余空间
total_space
磁盘总空间
keep_free_space
磁盘保留空间,通过参数keep_free_space_bytes设置
type
磁盘类型
-- 配置文件
<disks>
<default>
<keep_free_space_bytes>1024</keep_free_space_bytes>
</default>
<sansi_disk1>
<path>/data1/</path>
</sansi_disk1>
<sansi_disk2>
<path>/data2/</path>
</sansi_disk2>
</disks>
-- 系统配置表
mdw :) select * from disks;
SELECT *
FROM disks
┌─name────────┬─path──────────────────────────┬──free_space─┬─total_space─┬─keep_free_space─┬─type──┐
│ default │ /data/clickhouse-server/data/ │ 16503577600 │ 42927655936 │ 1024 │ local │
│ sansi_disk1 │ /data1/ │ 10683785216 │ 10725883904 │ 0 │ local │
│ sansi_disk2 │ /data2/ │ 10679910400 │ 10725883904 │ 0 │ local │
└─────────────┴───────────────────────────────┴─────────────┴─────────────┴─────────────────┴───────┘
3 rows in set. Elapsed: 0.007 sec.
4、storage_policies
storage_policies表主要用来存储磁盘策略,默认策略为defalt,默认将全部数据写入制定的data path目录下。
列字段
字段含义
policy_name
存储策略名称,默认的数据目录为defalut
volume_name
存储策略下逻辑卷名称
volume_priority
逻辑卷权重
disks
逻辑卷对应system.disk中的磁盘名称
volume_type
逻辑卷类型,默认为JBOD
max_data_part_size
逻辑卷数据部分大小限制,默认为0表示不限制
move_factor
参数prefer_not_to_merge设置值,当该参数关闭时,该逻辑卷将不会发生merge操作
-- 配置文件
<policies>
<disk1_only>
<volumes>
<disk1_volume>
<disk>sansi_disk1</disk>
</disk1_volume>
</volumes>
</disk1_only>
<disk1_disk2>
<volumes>
<disk1_disk2_volume>
<disk>sansi_disk1</disk>
<disk>sansi_disk2</disk>
</disk1_disk2_volume>
</volumes>
</disk1_disk2>
</policies>
-- 系统表信息
mdw :) select * from storage_policies;
SELECT *
FROM storage_policies
┌─policy_name─┬─volume_name────────┬─volume_priority─┬─disks─────────────────────────┬─volume_type─┬─max_data_part_size─┬─move_factor─┐
│ default │ default │ 1 │ ['default'] │ JBOD │ 0 │ 0 │
│ disk1_disk2 │ disk1_disk2_volume │ 1 │ ['sansi_disk1','sansi_disk2'] │ JBOD │ 0 │ 0.1 │
│ disk1_only │ disk1_volume │ 1 │ ['sansi_disk1'] │ JBOD │ 0 │ 0.1 │
└─────────────┴────────────────────┴─────────────────┴───────────────────────────────┴─────────────┴────────────────────┴─────────────┘
3 rows in set. Elapsed: 0.034 sec.
1.2 数据库运行情况概要信息
1、metrics、events
metrics表主要用来统计ck服务当前正在执行语句的高层次统计概要信息,如正在执行的query、merge的总次数等。
events表主要用于统计ck服务在运行过程中,已经执行过的命令的高层次统计该要信息。
mdw :) select * from metrics limit 5;
SELECT *
FROM metrics
LIMIT 5
┌─metric──────────┬─value─┬─description─────────────────────────────────────┐
│ Query │ 1 │ Number of executing queries │
│ Merge │ 0 │ Number of executing background merges │
│ PartMutation │ 0 │ Number of mutations (ALTER DELETE/UPDATE) │
│ ReplicatedFetch │ 0 │ Number of data parts being fetched from replica │
│ ReplicatedSend │ 0 │ Number of data parts being sent to replicas │
└─────────────────┴───────┴─────────────────────────────────────────────────┘
5 rows in set. Elapsed: 0.006 sec.
mdw :) select * from events limit 5;
SELECT *
FROM events
LIMIT 5
┌─event─────────────┬─value─┬─description────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ Query │ 99 │ Number of queries to be interpreted and potentially executed. Does not include queries that failed to parse or were rejected due to AST size limits, quota limits or limits on the number of simultaneously running queries. May include internal queries initiated by ClickHouse itself. Does not count subqueries. │
│ SelectQuery │ 67 │ Same as Query, but only for SELECT queries. │
│ InsertQuery │ 11 │ Same as Query, but only for INSERT queries. │
│ FailedQuery │ 6 │ Number of failed queries. │
│ FailedSelectQuery │ 6 │ Same as FailedQuery, but only for SELECT queries. │
└───────────────────┴───────┴────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
5 rows in set. Elapsed: 0.006 sec.
2、asynchronous_metrics
asynchronous_metrics表主要用来统计一些后台指标的消耗值。如内存是用或启动时间等。
mdw :) select * from asynchronous_metrics limit 5;
SELECT *
FROM asynchronous_metrics
LIMIT 5
┌─metric───────────────────────────────────┬────value─┐
│ CPUFrequencyMHz_0 │ 2095.076 │
│ jemalloc.arenas.all.pmuzzy │ 100718 │
│ jemalloc.arenas.all.pdirty │ 4558 │
│ jemalloc.background_thread.run_intervals │ 0 │
│ jemalloc.background_thread.num_runs │ 0 │
└──────────────────────────────────────────┴──────────┘
5 rows in set. Elapsed: 0.007 sec.
3、metric_log
metric_log表主要是对system.metrics 和 system.events两张表历史记录指标值,并进行周期性刷盘。
mdw :) SELECT * FROM system.metric_log LIMIT 1 FORMAT Vertical;
SELECT *
FROM system.metric_log
LIMIT 1
FORMAT Vertical
Row 1:
──────
event_date: 2021-02-09
event_time: 2021-02-09 18:26:18
milliseconds: 693
ProfileEvent_Query: 0
ProfileEvent_SelectQuery: 0
ProfileEvent_InsertQuery: 0
ProfileEvent_FailedQuery: 0
...
CurrentMetric_DictCacheRequests: 0
CurrentMetric_Revision: 54439
CurrentMetric_VersionInteger: 20009005
CurrentMetric_RWLockWaitingReaders: 0
CurrentMetric_RWLockWaitingWriters: 0
CurrentMetric_RWLockActiveReaders: 0
CurrentMetric_RWLockActiveWriters: 0
CurrentMetric_GlobalThread: 8
CurrentMetric_GlobalThreadActive: 8
CurrentMetric_LocalThread: 0
CurrentMetric_LocalThreadActive: 0
CurrentMetric_DistributedFilesToInsert: 0
1 rows in set. Elapsed: 0.083 sec.
1.3 库表统计信息
1、databases
列字段
字段含义
name
数据库名
engine
数据库引擎
data_path
该数据库数据文件对应的磁盘目录
metadata_path
数据库元数据文件对应的磁盘目录
uuid
数据库UUID
mdw :) select * from databases;
SELECT *
FROM databases
┌─name───────────────────────────┬─engine───┬─data_path──────────────────────────────────┬─metadata_path────────────────────────────────────────────────────────────────┬─────────────────────────────────uuid─┐
│ _temporary_and_external_tables │ Memory │ /data/clickhouse-server/data/ │ │ 00000000-0000-0000-0000-000000000000 │
│ db1 │ Ordinary │ /data/clickhouse-server/data/data/db1/ │ /data/clickhouse-server/data/metadata/db1/ │ 00000000-0000-0000-0000-000000000000 │
│ db2 │ Ordinary │ /data/clickhouse-server/data/data/db2/ │ /data/clickhouse-server/data/metadata/db2/ │ 00000000-0000-0000-0000-000000000000 │
│ default │ Ordinary │ /data/clickhouse-server/data/data/default/ │ /data/clickhouse-server/data/metadata/default/ │ 00000000-0000-0000-0000-000000000000 │
│ system │ Atomic │ /data/clickhouse-server/data/store/ │ /data/clickhouse-server/data/store/303/3033939d-1b37-4804-9e67-000da3fd460c/ │ 3033939d-1b37-4804-9e67-000da3fd460c │
└────────────────────────────────┴──────────┴────────────────────────────────────────────┴──────────────────────────────────────────────────────────────────────────────┴──────────────────────────────────────┘
5 rows in set. Elapsed: 0.006 sec.
2、tables
列字段
字段含义
database
数据库名
name
表名
uuid
engine
表引擎名称
is_temporary
是否为临时表
data_paths
数据文件目录地址
metadata_path
元数据文件目录地址
metadata_modification_time
元数据文件最近一次的修改时间
dependencies_database
依赖的数据库
dependencies_table
依赖的表
create_table_query
建表语句
engine_full
完整的engine信息
partition_key
分区建
sorting_key
排序键
primary_key
主键(ck主键可重复)
sampling_key
数据采样键
storage_policy
磁盘存储策略
total_rows
表行数
total_bytes
表大小
lifetime_rows
从服务启动开始,数据insert行数
lifetime_bytes
从服务启动开始,数据insert的大小
mdw :) select * from tables limit 1\G
SELECT *
FROM tables
LIMIT 1
Row 1:
──────
database: db1
name: t1
uuid: 00000000-0000-0000-0000-000000000000
engine: MergeTree
is_temporary: 0
data_paths: ['/data1/data/db1/t1/']
metadata_path: /data/clickhouse-server/data/metadata/db1/t1.sql
metadata_modification_time: 2021-02-25 18:00:03
dependencies_database: []
dependencies_table: []
create_table_query: CREATE TABLE db1.t1 (`id` Int32, `name` String) ENGINE = MergeTree() ORDER BY id SETTINGS storage_policy = 'disk1_only', index_granularity = 8192
engine_full: MergeTree() ORDER BY id SETTINGS storage_policy = 'disk1_only', index_granularity = 8192
partition_key:
sorting_key: id
primary_key: id
sampling_key:
storage_policy: disk1_only
total_rows: 5
total_bytes: 349
lifetime_rows: ᴺᵁᴸᴸ
lifetime_bytes: ᴺᵁᴸᴸ
1 rows in set. Elapsed: 0.009 sec.
3、columns
列字段
字段含义
database
数据库名
table
表名
name
字段名
type
字段类型
position
字段在表中位置排序
default_kind
字段默认值
default_expression
默认表达式
data_compressed_bytes
压缩数据大小
data_uncompressed_bytes
未压缩数据大小
marks_bytes
标记的大小
comment
字段备注
is_in_partition_key
是否为分区键
is_in_sorting_key
是否为排序键
is_in_primary_key
是否为主键
is_in_sampling_key
是否为抽烟采集键
compression_codec
压缩编码器名称
mdw :) select * from columns limit 3\G
SELECT *
FROM columns
LIMIT 3
Row 1:
──────
database: db1
table: t1
name: id
type: Int32
position: 1
default_kind:
default_expression:
data_compressed_bytes: 72
data_uncompressed_bytes: 20
marks_bytes: 96
comment:
is_in_partition_key: 0
is_in_sorting_key: 1
is_in_primary_key: 1
is_in_sampling_key: 0
compression_codec:
4、parts
列字段
字段含义
partition
分区
name
数据分区的名称
part_type
数据分区存储格式,wide:每个字段单独存储在一个物理文件中;Compact:所有的字段存储在一个物理文件中。由参数min_bytes_for_wide_part、min_rows_for_wide_part控制
active
数据分区是否活跃,被merge后的分区不再活跃。若数据分区活跃,则表示仍在使用;若数据分区不活跃,可能被卸载或者merge
marks
被标记的数量,乘以索引粒度(默认8192)大概为该数据分区的预估行数
rows
数据分区行数
bytes_on_disk
数据分区文件大小
data_compressed_bytes
数据分区中压缩数据大小,不包括所有辅助文件(例如,带有标记的文件)
data_uncompressed_bytes
数据分区中未压缩数据大小,不包括所有辅助文件(例如,带有标记的文件)
marks_bytes
标记文件大小
modification_time
上次变更时间
remove_time
数据分区变为inactive的时间
refcount
目前使用数据分区的计数,该值大于2表示数据分区正在被查询或者merge
min_date
数据分区中最小日期
max_date
数据分区中最大日期
min_time
数据分区中最小时间
max_time
数据分区中最大时间
partition_id
分区ID,非分区表为all
min_block_number
数据分区最小block计数
max_block_number
数据分区最大block计数
level
合并的深度(计数)
data_version
数据分区的数据版本
primary_key_bytes_in_memory
主键值在内存中占用大小
primary_key_bytes_in_memory_allocated
为主键保留的内存空间大小
is_frozen
数据空间是否进行freeze备份。1表示备份存在,0表示未备份
database
数据库名称
table
表名
engine
表引擎名称
disk_name
数据存储磁盘名称
path
数据分区所在磁盘目录
hash_of_all_files
压缩文件hash码
hash_of_uncompressed_files
未压缩文件hash码
uncompressed_hash_of_compressed_files
压缩文件中的hash码(压缩文件未压缩时的hash码)
delete_ttl_info_min
ttl删除规则中参考字段的最小时间
delete_ttl_info_max
ttl删除规则中参考字段的最大时间
move_ttl_info.expression
数组的表达式。每个表达式都定义了一个TTL移动规则。
move_ttl_info.min
ttl规则生效中的最小时间
move_ttl_info.max
ttl规则生效中的最大时间
default_compression_codec
默认压缩方式
mdw :) select * from parts limit 3\G
SELECT *
FROM parts
LIMIT 3
Row 3:
──────
partition: tuple()
name: all_1_6_1
part_type: Wide
active: 1
marks: 2
rows: 13
bytes_on_disk: 211
data_compressed_bytes: 105
data_uncompressed_bytes: 91
marks_bytes: 96
modification_time: 2021-02-25 19:26:39
remove_time: 1970-01-01 08:00:00
refcount: 1
min_date: 1970-01-01
max_date: 1970-01-01
min_time: 1970-01-01 08:00:00
max_time: 1970-01-01 08:00:00
partition_id: all
min_block_number: 1
max_block_number: 6
level: 1
data_version: 1
primary_key_bytes_in_memory: 8
primary_key_bytes_in_memory_allocated: 64
is_frozen: 0
database: db1
table: t2
engine: MergeTree
disk_name: sansi_disk1
path: /data1/data/db1/t2/all_1_6_1/
hash_of_all_files: 42a5dd3c68a7c984e9a6c96535e0b844
hash_of_uncompressed_files: 75cd179ac5e905b5941d4d4b229daeb3
uncompressed_hash_of_compressed_files: 3e9fd9b58cfe5bec718c3f634a50bf1f
delete_ttl_info_min: 1970-01-01 08:00:00
delete_ttl_info_max: 1970-01-01 08:00:00
move_ttl_info.expression: []
move_ttl_info.min: []
move_ttl_info.max: []
default_compression_codec: LZ4
3 rows in set. Elapsed: 0.030 sec.
5、parts_columns
列字段
字段含义
partition
分区
name
数据分区的名称
part_type
数据分区存储格式,wide:每个字段单独存储在一个物理文件中;Compact:所有的字段存储在一个物理文件中。由参数min_bytes_for_wide_part、min_rows_for_wide_part控制
active
数据分区是否活跃,被merge后的分区不再活跃。若数据分区活跃,则表示仍在使用;若数据分区不活跃,可能被卸载或者merge
marks
标记的数量,乘以索引粒度(默认8192)大概为该数据分区的预估行数
rows
数据分区行数
bytes_on_disk
数据分区文件大小
data_compressed_bytes
数据分区中压缩数据大小,不包括所有辅助文件(例如,带有标记的文件)
data_uncompressed_bytes
数据分区中未压缩数据大小,不包括所有辅助文件(例如,带有标记的文件)
marks_bytes
标记文件大小
modification_time
上次变更时间
remove_time
数据分区变为inactive的时间
refcount
目前使用数据分区的计数,该值大于2表示数据分区正在被查询或者merge
min_date
数据分区中最小日期
max_date
数据分区中最大日期
partition_id
分区ID,非分区表为all
min_block_number
数据分区最小block计数
max_block_number
数据分区最大block计数
level
合并的深度(计数)
data_version
数据分区的数据版本
primary_key_bytes_in_memory
主键值在内存中占用大小
primary_key_bytes_in_memory_allocated
为主键保留的内存空间大小
database
数据库名称
table
表名
engine
表引擎名称
disk_name
数据存储磁盘名称
path
数据分区所在磁盘目录
column
字段名称
type
字段的数据类型
column_position
字段在表中的位置标记
default_kind
字段默认值
default_expression
字段默认表达式
column_bytes_on_disk
字段总大小
column_data_compressed_bytes
字段压缩数据大小
column_data_uncompressed_bytes
字段未压缩数据大小
column_marks_bytes
带标记的字段的大小
mdw :) select * from parts_columns limit 8\G
SELECT *
FROM parts_columns
LIMIT 8
Row 5:
──────
partition: tuple()
name: all_1_6_1
part_type: Wide
active: 1
marks: 2
rows: 13
bytes_on_disk: 211
data_compressed_bytes: 105
data_uncompressed_bytes: 91
marks_bytes: 96
modification_time: 2021-02-25 19:26:39
remove_time: 2106-02-07 14:28:15
refcount: 1
min_date: 1970-01-01
max_date: 1970-01-01
partition_id: all
min_block_number: 1
max_block_number: 6
level: 1
data_version: 1
primary_key_bytes_in_memory: 8
primary_key_bytes_in_memory_allocated: 64
database: db1
table: t2
engine: MergeTree
disk_name: sansi_disk1
path: /data1/data/db1/t2/all_1_6_1/
column: id
type: Int32
column_position: 1
default_kind:
default_expression:
column_bytes_on_disk: 102
column_data_compressed_bytes: 54
column_data_uncompressed_bytes: 52
column_marks_bytes: 48
Row 6:
──────
partition: tuple()
name: all_1_6_1
part_type: Wide
active: 1
marks: 2
rows: 13
bytes_on_disk: 211
data_compressed_bytes: 105
data_uncompressed_bytes: 91
marks_bytes: 96
modification_time: 2021-02-25 19:26:39
remove_time: 2106-02-07 14:28:15
refcount: 1
min_date: 1970-01-01
max_date: 1970-01-01
partition_id: all
min_block_number: 1
max_block_number: 6
level: 1
data_version: 1
primary_key_bytes_in_memory: 8
primary_key_bytes_in_memory_allocated: 64
database: db1
table: t2
engine: MergeTree
disk_name: sansi_disk1
path: /data1/data/db1/t2/all_1_6_1/
column: name
type: String
column_position: 2
default_kind:
default_expression:
column_bytes_on_disk: 99
column_data_compressed_bytes: 51
column_data_uncompressed_bytes: 39
column_marks_bytes: 48
1.4 日志相关
1、query_log
query_log表主要用来记录两种查询:
客户端执行的SQL查询
由分布式查询而下发的子查询,子查询记录中可通过initial_query_id与父查询进行关联
query_log开启在配置文件中<query_log>中进行配置,我们可以通过设置log_queries = 0来关闭日志,但是生产环境不建议关闭日志记录。日志数据通过参数flush_interval_milliseconds的设置来强制刷新,也可以使用SYSTEM FLUSH LOGS强制刷新
列字段
字段含义
type (Enum8)
查询类型。主要有:QueryStart、QueryFinish、ExceptionBeforeStart、ExceptionWhileProcessing
event_date (Date)
查询开始日期
event_time (DateTime)
查询开始时间
query_start_time (DateTime)
查询开始执行的时间
query_duration_ms (UInt64)
查询执行时间
read_rows (UInt64)
查询读取总行数
read_bytes (UInt64)
查询读取总数据量大小
written_rows (UInt64)
对于Insert操作,数据写入行数。若查询为select操作,该参数为0
written_bytes (UInt64)
对于Insert操作,数据写入数据量大小。若查询为select操作,该参数为0
result_rows (UInt64)
查看返回结果集行数
result_bytes (UInt64)
查看返回结果集数据集大小
memory_usage (UInt64)
查询内存消耗
current_database
query (String)
查询语句
exception (String)
异常反馈信息
exception_code (Int32)
异常信息code
stack_trace (String)
堆栈跟踪。如果查询成功完成,则为空字符串。
is_initial_query (UInt8)
查询类型,1:由客户端直接发起的查询;0:由分布式查询下发的子查询操作
user (String)
数据库用户
query_id (String)
SQL查询ID
address (IPv6)
客户端IP地址
port (UInt16)
客户端端口
initial_user (String)
若查询为分布式查询,分布式查询的子查询执行的数据库用户
initial_query_id (String)
若查询为分布式查询,分布式查询的子查询执行的查询ID
initial_address (IPv6)
若查询为分布式查询,分布式查询的父查询的IP
initial_port (UInt16)
若查询为分布式查询,分布式查询的父查询的port
interface (UInt8)
查询接口类型。 1: TCP、2: HTTP.
os_user (String)
clickhouse-client使用的操作系统用户
client_hostname (String)
clickhouse-client 或者 TCP client 的主机名
client_name (String)
clickhouse-client 或者 TCP client 的名称.
client_revision (UInt32)
clickhouse-client 或者 TCP client 的版本
client_version_major (UInt32)
Major version of the clickhouse-client or another TCP client.
client_version_minor (UInt32)
Minor version of the clickhouse-client or another TCP client.
client_version_patch (UInt32)
Patch component of the clickhouse-client or another TCP client version.0:The query was launched from the TCP interface;1: GET method was used;2:POST method was used.
http_user_agent (String)
The UserAgent header passed in the HTTP request.
quota_key (String)
The “quota key” specified in the quotas setting (see keyed).
revision (UInt32)
ClickHouse revision.
thread_numbers (Array(UInt32))
Number of threads that are participating in query execution.
ProfileEvents.Names (Array(String))
Counters that measure different metrics. The description of them could be found in the table system.events
ProfileEvents.Values (Array(UInt64))
Values of metrics that are listed in the ProfileEvents.Names column.
Settings.Names (Array(String))
Names of settings that were changed when the client ran the query. To enable logging changes to settings, set the log_query_settings parameter to 1.
Settings.Values (Array(String))
Values of settings that are listed in the Settings.Names column.
-- 配置文件
<query_log>
<database>system</database>
<table>query_log</table>
<partition_by>toYYYYMM(event_date)</partition_by>
<flush_interval_milliseconds>7500</flush_interval_milliseconds>
</query_log>
-- 系统表信息
mdw :) SELECT type,concat(substr(query , 1,40 ) ,'...' ) query,query_id, read_rows,query_duration_ms as duration FROM system.query_log limit 6;
SELECT
type,
concat(substr(query, 1, 40), '...') AS query,
query_id,
read_rows,
query_duration_ms AS duration
FROM system.query_log
LIMIT 6
┌─type────────┬─query───────────────────────────────────────┬─query_id─────────────────────────────┬─read_rows─┬─duration─┐
│ QueryStart │ SELECT DISTINCT arrayJoin(extractAll(nam... │ 52adb729-45d7-4f34-86c2-ee921ba1636c │ 0 │ 0 │
│ QueryFinish │ SELECT DISTINCT arrayJoin(extractAll(nam... │ 52adb729-45d7-4f34-86c2-ee921ba1636c │ 3154 │ 15 │
│ QueryStart │ SELECT * FROM system.clusters;... │ be93f34a-9096-4939-8306-d6affd53c9d1 │ 0 │ 0 │
│ QueryFinish │ SELECT * FROM system.clusters;... │ be93f34a-9096-4939-8306-d6affd53c9d1 │ 8 │ 2 │
│ QueryStart │ SELECT DISTINCT arrayJoin(extractAll(nam... │ 3703d3df-d6ac-4c21-a9b9-61ecb501bb8d │ 0 │ 0 │
│ QueryFinish │ SELECT DISTINCT arrayJoin(extractAll(nam... │ 3703d3df-d6ac-4c21-a9b9-61ecb501bb8d │ 3241 │ 21 │
└─────────────┴─────────────────────────────────────────────┴──────────────────────────────────────┴───────────┴──────────┘
6 rows in set. Elapsed: 0.051 sec. Processed 1.21 thousand rows, 203.16 KB (23.48 thousand rows/s., 3.95 MB/s.)
2、query_thread_log
query_thread_log表相对于query_log,更侧重记录一些执行查询的线程的信息。query_thread_log的配置信息在配置文件中<query_thread_log>部分进行设置。数据刷新周期由flush_interval_milliseconds控制,也可以通过SYSTEM FLUSH LOGS 进行手动刷新。
thread_name: 线程名称 thread_id: 线程ID master_thread_id: OS初始线程ID
-- 相关配置
<query_thread_log>
<database>system</database>
<table>query_thread_log</table>
<partition_by>toYYYYMM(event_date)</partition_by>
<flush_interval_milliseconds>7500</flush_interval_milliseconds>
</query_thread_log>
3、trace_log
trace_log主要是记录线程的堆栈信息。
列字段
字段含义
event_date
事件日期
event_time
事件时间
timestamp_ns
时间戳
revision
CK内部版本
trace_type
trace类型
thread_id
线程ID
query_id
查询请求ID
trace
堆栈跟踪
size
-- 配置文件设置
<trace_log>
<database>system</database>
<table>trace_log</table>
<partition_by>toYYYYMM(event_date)</partition_by>
<flush_interval_milliseconds>7500</flush_interval_milliseconds>
</trace_log>
-- 统计信息查询
mdw :) select * from trace_log limit 1\G
SELECT *
FROM trace_log
LIMIT 1
Row 1:
──────
event_date: 2021-02-09
event_time: 2021-02-09 18:26:20
timestamp_ns: 1612866380868739445
revision: 54439
trace_type: Memory
thread_id: 7954
query_id:
trace: [242486795,242375258,242374454,242368364,417010410,378032258,378104298,378117855,378120679,242641735,242634899,139790851128997,139790843906269]
size: 5243184
1 rows in set. Elapsed: 0.114 sec.