Clickhouse常用系统表概览

一、常用系统表

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.

猜你喜欢

转载自blog.csdn.net/weixin_37692493/article/details/114290388
今日推荐