Clickouse SQL监控机制调研

一、查询执行过的SQL语句方法

SELECT query  FROM system.query_log 
type (Enum8) — 执行查询时发生的事件类型。
        ‘QueryStart’ = 1 — 查询执行成功开始。
        ‘QueryFinish’ = 2 — 查询执行成功结束。
        ‘ExceptionBeforeStart’ = 3 — 在开始执行查询之前发生异常。
        ‘ExceptionWhileProcessing’ = 4 — 查询执行期间的异常。
event_date (Date) — 查询开始日期。
event_time (DateTime) — 查询开始时间。
query_start_time (DateTime) — 查询执行开始时间。
query_duration_ms (UInt64) — 查询执行持续时间。
read_rows (UInt64) — 读取的行数。
read_bytes (UInt64) — 读取的字节数。
written_rows (UInt64) — 对于插入查询,写入的行数。对于其他查询,值为0written_bytes (UInt64) — 对于插入查询,写入的字节数。对于其他查询,值为0result_rows (UInt64) — 结果中的行数。
result_bytes (UInt64) — 结果中的字节数。
memory_usage (UInt64) — 查询消耗的内存。
query (String) — 查询字符串。
exception (String) — 异常信息。
stack_trace (String) — 堆栈调用信息(在发生错误之前调用的方法列表)。如果查询成功完成,则为空字符串。
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) — lickhouse-client或另一个TCP客户端的主要版本。
client_version_minor (UInt32) — lickhouse-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请求头。
quota_key (String) — 配额设置中指定的配额键。
revision (UInt32) — ClickHouse 修订版。
thread_numbers (Array(UInt32)) — 参与查询执行的线程数。
ProfileEvents.Names (Array(String)) — 测量不同指标的机器数。它们的描述可以在system.events表中找到
ProfileEvents.Values (Array(UInt64)) — 在ProfileEvents.Names 列中列出的指标值。
Settings.Names (Array(String)) — 客户端运行查询时更改的设置的名称。要启用对设置的日志记录,将log_query_settings参数设置为1。
Settings.Values (Array(String)) —Settings.Names列中列出的设置的值。
  • query:执行的查询 SQL 语句。
  • event_time:查询执行的时间戳。
  • user:执行查询的用户。
  • query_id:查询的唯一标识符。
  • elapsed:查询执行的耗时(以毫秒为单位)。
  • result_rows:查询返回的结果行数。
  • read_rows:查询从表中读取的行数。
  • written_rows:查询写入到表中的行数。
  • memory_usage:查询执行期间使用的内存量。
  • query_type:查询的类型,例如 SELECT、INSERT、UPDATE 等。
  • database:查询所属的数据库。
  • table:查询涉及的表。

二、查询正在执行的SQL语句的方法

1.查询 ClickHouse 中正在执行的 SQL 语句,可以使用system.processes系统表。

该表记录了所有正在运行的查询相关信息

 SELECT * FROM system.processes;
  • query_id:查询 ID。
  • read_rows:从表中读取的行数。
  • total_rows_approx:应读取的行总数的近似值。
  • memory_usage:请求使用的内存量。
  • initial_user:进行查询的用户。
  • initial_address:请求的 IP 地址。
  • elapsed:查询执行开始以来的秒数。
  • query:查询语句。

2.杀掉SQL语句

查看正在执行的 SQL 语句的 query_id:

  SELECT query_id FROM system.processes;

根据 query_id 杀掉对应的 SQL 语句

KILL QUERY WHERE query_id = 'queryid';

3. 查询某更新删除SQL语句是否执行成功

select database,table,mutation_id,command,create_time,block_numbers.number, is_done 
from system.mutations 
where table='表名';
  • database:数据库名称。
  • table:表名。
  • mutation_id:每次mutation操作的唯一标识符。
  • command:具体的mutation操作,如ALTER TABLE … DELETE或ALTER TABLE … UPDATE。
  • create_time:mutation操作的创建时间。
  • block_numbers.number:mutation操作所涉及的数据块数量。
  • is_done:mutation操作是否已完成,0表示未完成,1表示已完成。

三、 Clickouse的系统表

系统表用于实现系统的部分功能提供对系统工作信息访问

1. system.processes

用于实现show processlist查询

query_id:查询 ID。
read_rows:从表中读取的行数。
total_rows_approx:应读取的行总数的近似值。
memory_usage:请求使用的内存量。
initial_user:进行查询的用户。
initial_address:请求的 IP 地址。
elapsed:查询执行开始以来的秒数。
query:查询语句。

2. system.query_log

查询执行的信息

query:执行的查询 SQL 语句。
event_time:查询执行的时间戳。
user:执行查询的用户。
query_id:查询的唯一标识符。
elapsed:查询执行的耗时(以毫秒为单位)。
result_rows:查询返回的结果行数。
read_rows:查询从表中读取的行数。
written_rows:查询写入到表中的行数。
memory_usage:查询执行期间使用的内存量。
query_type:查询的类型,例如 SELECT、INSERT、UPDATE 等。
database:查询所属的数据库。
table:查询涉及的表。

3. system.storage_policies

记录有关服务器中定义的储存策略和卷的信息

policy_name (String) — 存储策略的名称。
volume_name (String) — 在存储策略中定义的卷名。
volume_priority (UInt64) — 配置中的卷顺序编号。
disks (Array(String)) — 磁盘名称,在存储策略中定义。
max_data_part_size (UInt64) — 可以存储在卷磁盘上的数据片段的最大大小(0 -无限)。
move_factor (Float64) — 空闲磁盘空间的比率。当比率超过配置参数值时,ClickHouse开始按顺序将数据移动到下一个卷。

4. system.disks

记录有关服务器定义磁盘的信息

name (String) — 服务器配置中磁盘的名称。 path (String) — 指向文件系统中的挂载点的路径。
free_space (UInt64) — 磁盘上的空闲空间(以字节为单位)。
total_space (UInt64) — 磁盘容量(以字节为单位)。
keep_free_space (UInt64) — 以字节为单位在磁盘上保持空闲的磁盘空间量。在磁盘配置的
keep_free_space_bytes参数中定义。

5. system.mutations

记录有关MergeTree表的变化及其处理信息。每个变化命令都用一行表示。

database - 该次变化数据库的名称
table - 该次变化表的名称。
mutation_id - 变化的ID。对于副本集的表,这些id对应于ZooKeeper中的<table_path_in_zookeeper>/mutations/目录中的znode名称。对于没有副本的表,id对应于表的数据目录中的文件名。
command - 命令字符串(ALTER TABLE [db.] TABLE后的查询部分)。
create_time - 当提交执行此变化命令的时间。
block_numbers.partition_id, block_numbers.number - 一个嵌套列。对于副本表的变化,它为每个分区包含一条记录:由变化 获得的分区ID和数据块编号(在每个分区中,只有包含小于该分区中由变化获得的块号的块的数据片段才会发生变化)。在非复制表中,所有分区中的数据块编号形成一个序列。这意味着对于非复制表的变化,列将包含一条记录,该记录具有变化所获得的单个块号。
parts_to_do - 需要为完成变化而进行突变的数据变化的数量。
is_done - 变化自行完成了吗?注意,即使parts_to_do = 0,由于长时间运行的插入操作将创建需要进行修改的新的新数据片段,复制表的修改仍然有可能没有完成。
latest_failed_part - 最近不能修改的数据片段的名称。
latest_fail_time - 最新数据片段修改失败的时间。
latest_fail_reason - 导致最近的数据片段修改失败的异常消息。

6. system.tables

记录服务器已知的每个表的元数据。卸载的表不在system.tables中显示

database (String) — 表所在的数据库的名称。
name (String) — 表名。
engine (String) — 表引擎名称(没有参数)。
is_temporary (UInt8) - 指示表是否是临时的标志。
data_path (String) - 文件系统中表数据的路径。
metadata_path (String) - 文件系统中表元数据的路径。
metadata_modification_time (DateTime) - 表元数据的最新修改时间。
dependencies_database (Array(String)) - 数据库的依赖关系。
dependencies_table (Array(String)) - 表依赖关系(MaterializedView表基于当前表)
create_table_query (String) - 创建表的查询语句。
engine_full (String) - 表引擎的参数。
partition_key (String) - 表中指定的分区键表达式。
sorting_key (String) - 表中指定的排序键表达式。
primary_key (String) - 表中指定的主键表达式。
sampling_key (String) - 表中指定的抽样键表达式。
storage_policy (String) - 存储策略:
MergeTree
Distributed
total_rows (Nullable(UInt64)) - 总行数,如果能够快速确定表中的准确行数,则为Null(包括下面的Buffer表)。
total_bytes (Nullable(UInt64)) - 如果能够快速确定存储上的表的确切字节数,则为总字节数,否则为Null(不包括任何底层存储)。
如果表将数据存储在磁盘上,则返回磁盘上使用的空间(即压缩空间)。
如果表在内存中存储数据,则返回内存中使用的近似字节数。

7. system.tables_engines

记录服务器支持的表引擎及其特性支持信息的描述

name (String) — 设置项。
value (String) — 设置值。
description (String) — 设置描述。
type (String) — 设置类型(实现特定的字符串值)。
changed (UInt8) — 设置是在配置中显式定义的还是显式更改的。

8. system.merge_tree_settings

记录MergeTree表的设置信息。

name (String) — 设置项。
value (String) — 设置值。
description (String) — 设置描述。
type (String) — 设置类型(实现特定的字符串值)。
changed (UInt8) — 设置是在配置中显式定义的还是显式更改的。

9. system.settings

记录当前用户会话设置的信息

name (String) — 设置项名称。
value (String) — 设置的值。
changed (UInt8) — 显示设置是否从其默认值更改。
description (String) — 设置项的简单描述。
min (Nullable(String)) — 设置的最小值,如果通过约束设置的话。如果设置没有最小值,则为NULL。
max (Nullable(String)) — 设置的最小值,如果通过约束设置的话。如果设置没有最小值,则为NULL。
readonly (UInt8) — 显示当前用户是否可以更改设置:
0 — 当前用户可以更改设置。
1 — 当前用户无法更改设置。

10. system.replicas

记录驻留在本地服务器上的副本表的信息和状态

database (String) - 数据库名称
table (String) - 表名
engine (String) - 表引擎名
is_leader (UInt8) - 副本是否是leader。
每次只能有一个副本成为leader。leader负责选择后台合并执行。注意,可以对ZK中可用且具有会话的任何副本执行写操作,无论它是否是leader。
can_become_leader (UInt8) - 副本是否可以被选举为leader。
is_readonly (UInt8) - 副本是否是read-only只读模式。
如果配置没有带有ZooKeeper的配置部分,或者如果在ZooKeeper中重新初始会话或在重新初始会话期间发生未知错误,则将打开此模式。
is_session_expired (UInt8) - ZooKeeper的会话是否已经过期。基本上与is_readonly相同。
future_parts (UInt32) - 由于尚未完成的插入或合并而出现的数据片段的数量。
parts_to_check (UInt32) - 队列中用于验证的数据片段的数量。如果怀疑某个片段可能被损坏,则将其放入验证队列中。
zookeeper_path (String) - ZooKeeper中表数据库的路径
replica_name (String) - ZooKeeper中副本名称。同一表的不同副本具有不同的名称。
replica_path (String) - ZooKeeper中副本数据的路径。和连接‘zookeeper_path/replicas/replica_path’相同。
columns_version (Int32) - 表结构的版本号。指示执行了多少次ALTER。如果副本有不同的版本,这意味着有些副本还没有完成所有的ALTER。
queue_size (UInt32) - 等待执行的操作的队列大小。操作包括插入数据块、合并和某些其他操作。它通常与未来的部分一致。
inserts_in_queue (UInt32) - 队列中等待插入的数据块的数量。插入通常可以很快地复制。如果这个数字很大,就意味着出了问题。
merges_in_queue (UInt32) - 队列中等待进行的合并的数量。有时候合并是很长的,所以这个值可能会在很长一段时间内大于零。
part_mutations_in_queue (UInt32) - 队列中等待修改的数据片段数量
queue_oldest_time (DateTime) - 如果queue_size大于0,则显示何时将最后的操作添加到队列中。
inserts_oldest_time (DateTime) - 参考queue_oldest_time
merges_oldest_time (DateTime) - 参考queue_oldest_time
part_mutations_oldest_time (DateTime) - 参考queue_oldest_time
接下来的4列只有在使用ZK的活跃会话时才具有非零值。
log_max_index (UInt64) - 常规活动日志中的最大条目数。
log_pointer (UInt64) - 副本复制到其执行队列的一般活动日志中的最大条目数,加1。如果log_pointer比log_max_index小得多,就说明出了问题。
last_queue_update (DateTime) - 上次更新队列的时间。
absolute_delay (UInt64) - 当前副本有多大的秒延迟。
total_replicas (UInt8) - 此表的已知副本的总数。
active_replicas (UInt8) - 在ZooKeeper中具有会话的此表的副本的数量(即,函数副本的数量)。

11. system.trace_log

记录由抽样查询分析器收集的堆栈调用信息

event_date (Date) — 采样时刻的日期。
event_time (DateTime) — 采样时刻的时间戳。
timestamp_ns (UInt64) — 采样时刻的时间戳纳秒。
revision (UInt32) — ClickHouse服务器构建修订版。
timer_type (Enum8) — 时间类型:
Real 表示时钟时间。
CPU 表示CPU时间。
thread_number (UInt32) — 线程标识符。
query_id (String) — 查询标识符,可用于获取从query_log系统表查询运行的详细信息。
trace (Array(UInt64)) — 抽样时间的堆栈调用跟踪。 每个元素都是ClickHouse服务器进程中的一个虚拟内存地址。

12. system.query_thread_log

记录每个查询执行线程的信息

event_date (Date) — 线程完成查询执行的日期。
event_time (DateTime) — 线程完成查询执行的日期和时间。
query_start_time (DateTime) — 查询执行的开始时间。
query_duration_ms (UInt64) — 查询执行的持续时间。
read_rows (UInt64) — 读取行数。
read_bytes (UInt64) — 读取字节数。
written_rows (UInt64) — 对于插入查询,写入的行数。对于其他查询列值为0。
written_bytes (UInt64) — 对于插入查询,写入的字节数。对于其他查询,值为0。
memory_usage (Int64) — 在此线程上下文中分配和释放的内存数量之间的差异。
peak_memory_usage (Int64) — 在此线程上下文中分配和释放的内存数量之间的最大差异。
thread_name (String) — 线程的名称。
thread_number (UInt32) — 内部线程ID。
os_thread_id (Int32) — 操作系统线程ID。
master_thread_id (UInt64) — OS初始线程的初始ID。
query (String) — 查询字符串。
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) — lickhouse-client或另一个TCP客户端的主要版本。
client_version_minor (UInt32) — lickhouse-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请求头。
quota_key (String) — 配额设置中指定的配额键。
revision (UInt32) — ClickHouse 修订版。
thread_numbers (Array(UInt32)) — 参与查询执行的线程数。
ProfileEvents.Names (Array(String)) — 测量不同指标的机器数。它们的描述可以在system.events表中找到
ProfileEvents.Values (Array(UInt64)) — 在ProfileEvents.Names 列中列出的指标值。

13. system.parts

MergeTree表的片段信息

partition (String) – 分区的名称。要了解分区是什么,参考ALTER查询的描述。格式:
YYYYMM 按月自动分区。
any_string 当手动分区。
name (String) – 数据片段的名称。
active (UInt8) – 指示数据片段是否处于激活状态的标志。如果数据片段是激活的,则在表中可以使用它。否则它是被删除状态。未激活的数据片段在合并后仍然存在。
marks (UInt64) – 标记的数量。要获得数据片段的大概行数,可以用索引粒度乘以标记(通常是8192)(这个提示不适用于自适应粒度)。
rows (UInt64) – 行数。
bytes_on_disk (UInt64) – 所有数据片段文件的总大小,单位字节。
data_compressed_bytes (UInt64) – 数据片段占用压缩数据的总大小。所有的附属文件不包括在内(例如,标记文件)。
data_uncompressed_bytes (UInt64) – 数据片段中未压缩数据的总大小。所有的附属文件不包括在内(例如,标记文件)。
marks_bytes (UInt64) – 标记的文件的大小。
modification_time (DateTime) – 修改包含数据片段的目录的时间。这通常对应于创建数据部分的时间。
remove_time (DateTime) – 数据片段变为非激活状态的时间。
refcount (UInt32) – 使用数据片段的位置数量。大于2的值表示数据部分用于查询或合并。
min_date (Date) – 数据片段中日期键的最小值。
max_date (Date) – 数据片段中日期键的最大值。
min_time (DateTime) – 数据片段中日期和时间键的最小值。
max_time(DateTime) – 数据片段中日期和时间键的最小值。
partition_id (String) – 分区的ID。
min_block_number (UInt64) – 合并后组成当前片段的最小数据块编号。
max_block_number (UInt64) – 合并后组成当前片段的最大数据块编号。
level (UInt32) – 合并树的深度。零意味着当前片段是通过插入创建的,而不是通过合并其他片段创建的。
data_version (UInt64) – 用于确定应用于数据片段变化的数字(变化版本高于data_version)。
primary_key_bytes_in_memory (UInt64) – 主键值使用的内存量(以字节为单位)。
primary_key_bytes_in_memory_allocated (UInt64) – 为主键值保留的内存量(以字节为单位)。
is_frozen (UInt8) – 表明存在分区数据备份的标志。1、备份存在。0,备份不存在。更多详细信息,请参考FREEZE PARTITION
database (String) – 数据库名称
table (String) – 表名
engine (String) – 表引擎,没有参数。
path (String) – 数据片段文件的文件夹绝对路径。
disk (String) – 存储数据部分的磁盘的名称。
hash_of_all_files (String) – sipHash128压缩文件。
hash_of_uncompressed_files (String) – sipHash128的未压缩文件(带有标记文件、索引文件等)。
uncompressed_hash_of_compressed_files (String) – sipHash128压缩文件中的数据,就好像它们是未压缩的一样。
bytes (UInt64) – bytes_on_disk别名。
marks_size (UInt64) – marks_bytes别名。

14. system.metrics

记录可以立即计算或具有当前值的指标。例如,同时处理的查询数或当前副本延迟。这张表总是最新的

metric (String) — 指标名称。
value (Int64) — 指标值。
description (String) — 指标描述。

15. system.merges

记录有关目前正在处理MergeTree族表的合并和分区变化的信息

database (String) — 表所在的数据库名称。
table (String) — 表名。
elapsed (Float64) — 从Merge启动后花费的时间(单位秒)
progress (Float64) — 完成工作的百分比,从0到1。
num_parts (UInt64) — 要合并的块的数量。
result_part_name (String) — 合并结果文件名称。
is_mutation (UInt8) - 如果这个过程是分区变化。则是1
total_size_bytes_compressed (UInt64) — 合并块中压缩数据的总大小。
total_size_marks (UInt64) — 合并区分中的标记总数。
bytes_read_uncompressed (UInt64) — 读取的未压缩字节数。
rows_read (UInt64) — 读取的行数。
bytes_written_uncompressed (UInt64) — 写入的未压缩字节数。
rows_written (UInt64) — 写入的行数。

16. system.graphite_retentions

记录有关参数graphite_rollup的信息

config_name (String) - graphite_rollup参数名。
regexp (String) - 指标名称的正则表达式。
function (String) - 聚合函数名称。
age (UInt64) - 数据的最小年龄(以秒为单位)。
precision (UInt64) - 如何精确定义数据的年龄(以秒为单位)。
priority (UInt16) - 优先级模式。
is_default (UInt8) - 模式是否为默认模式。
Tables.database (Array(String)) - 使用config_name参数的表的数据库名数组。
Tables.table (Array(String)) - 使用config_name参数的表名数组。

17. system.functions

记录普通函数和聚合函数信息

name(String) – 函数名
is_aggregate(UInt8) — 是否是聚合函数

18. system.events

记录关于系统中发生的事件数量的信息。例如,在表中,您可以找到自ClickHouse服务器启动以来处理了多少SELECT查询

event (String) — 事件名称
value (UInt64) — 事件发生的次数
description (String) — 时间描述

19. system.dictionaries

外部字典信息

database (String) — 包含由DDL查询创建的字典的数据库的名称。其他字典为空字符串。
name (String) — 字典名称。
status (Enum8) — 字典状态。可能的值:
NOT_LOADED — Dictionary未加载,由于没有被使用。
LOADED — 字典加载成功。
FAILED — 由于错误,无法加载字典。
LOADING — 字典正在加载中。
LOADED_AND_RELOADING — 字典加载成功,现在正在重新加载(常见原因:系统重新加载字典查询、超时、字典配置发送变化)。
FAILED_AND_RELOADING — 由于错误无法加载字典,现在正在加载。
origin (String) — 描述字典的配置文件的路径。
type (String) — 字典类型。Flat, Hashed, Cache,将字典存储在内存中。
key — Key 类型: 数值Key (UInt64) 或者 复合 key (String) — 取自 “(type 1, type 2, …, type n)”。
attribute.names (Array(String)) — 由字典提供的属性名数组。
attribute.types (Array(String)) — 由字典提供的对应属性类型数组。
bytes_allocated (UInt64) — 分配给字典的内存数量。
query_count (UInt64) — 自词典加载或上次成功重新启动以来的查询次数。
hit_rate (Float64) — 对于缓存字典,值在缓存中使用的百分比。
element_count (UInt64) — 字典表中数据记录数
load_factor (Float64) — 在字典中填充的百分比(对于散列字典,是在散列表中填充的百分比)。
source (String) — 字典数据源的文本描述。
lifetime_min (UInt64) — 字典在内存中的最小生存期,在此之后,ClickHouse尝试重新加载字典(如果设置了invalidate_query,则仅当它发生变化变)。在几秒钟内设置。
lifetime_max (UInt64) — 字典在内存中的最小生存期,在此之后,ClickHouse尝试重新加载字典(如果设置了invalidate_query,则仅当它发生变化变)。在几秒钟内设置。
loading_start_time (DateTime) — 开始加载字典的时间。
last_successful_update_time (DateTime) — 加载或更新字典的时间结束。帮助监控一些外部来源的问题和调查原因。
loading_duration (Float32) — 字典加载的持续时间。
last_exception (String) — 如果无法创建字典,当创建或重新加载字典时发生错误的文本。

20. system.columns

记录有关所有表的列的信息

database (String) — 数据库名称。
table (String) — 表名。
name (String) — 列名。
type (String) — 列类型。
default_kind (String) — 表达式类型 (DEFAULT, MATERIALIZED, ALIAS),如果没有定义,则为空字符串。
default_expression (String) — 表达式, 如果没有定义,则为空字符串。
data_compressed_bytes (UInt64) — 压缩数据的大小,以字节为单位。
data_uncompressed_bytes (UInt64) — 解压数据的大小,以字节为单位。
marks_bytes (UInt64) — 标记的大小,以字节为单位。
comment (String) — 列的注释,如果没有定义,则为空字符串。
is_in_partition_key (UInt8) — 标志,表明列是否在分区表达式中。
is_in_sorting_key (UInt8) — 标志,表明列是否在排序键表达式中。
is_in_primary_key (UInt8) — 标志,表明列是否在主键表达式中。
is_in_sampling_key (UInt8) — 标志,表明列是否在抽样表达式中。

21. system.clusters

记录有关配置文件中可用的集群及其中的服务器的信息

cluster (String) — 集群名称。
shard_num (UInt32) — 集群分片数,从1开始。
shard_weight (UInt32) — 写入数据时分片的相对权重。
replica_num (UInt32) — 分片的副本编号,从1开始。
host_name (String) — 主机名,也可以在配置中指定。
host_address (String) — 从DNS获得的主机IP地址。
port (UInt16) — 用于连接到服务器的端口。
user (String) — 用于连接到服务器的用户。
errors_count (UInt32) — 此主机无法到达副本的次数。
estimated_recovery_time (UInt32) — 副本错误计数归零剩下的秒数,它被认为是恢复正常。

22. system.asynchronous metrics

记录定期在后台计算的指标。例如,正在使用的RAM数量

metric (String) — 指标名称
value (Float64) — 指标值


  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值