ClickHouse元数据 2.执行动作相关元数据


1. processes(查询操作记录)

name type comment
is_initial_query UInt8
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 UInt64 clickhouse-client 或另一个 TCP 客户端的修订版
client_version_major UInt64 clickhouse-client 或其他 TCP 客户端的主要版本
client_version_minor UInt64 clickhouse-client 或其他 TCP 客户端的次要版本
client_version_patch UInt64 clickhouse-client 或其他 TCP 客户端版本的补丁组件
http_method UInt8 发起查询的 HTTP 方法
0 — 查询是从 TCP 接口启动的。
1 — 使用了 GET 方法。
2 — 使用了 POST 方法。
http_user_agent String 在 HTTP 查询中传递的 HTTP 标头 UserAgent
http_referer String 在 HTTP 查询中传递的 HTTP 标头 Referer(包含进行查询的页面的绝对或部分地址)
forwarded_for String 在 HTTP 查询中传递的 HTTP 标头 X-Forwarded-For
quota_key String 在配额设置中指定的配额键
elapsed Float64 请求执行开始后的时间,秒
is_cancelled UInt8
read_rows UInt64 从表中读取的行数
read_bytes UInt64 从表中读取的未压缩字节数
total_rows_approx UInt64 应该读取的总行数的近似值
written_rows UInt64 写入行数
written_bytes UInt64 写入字节数
memory_usage Int64 消耗内存数量
peak_memory_usage Int64 此线程上下文中已分配和已释放内存量之间的最大差异
query String 查询文本,如果是 insert ,不包含数据
thread_ids Array(UInt64) 线程 ID 数组
ProfileEvents.Names Array(String) 衡量该线程不同指标的计数器。它们的描述可以在表 system.events 中找到
ProfileEvents.Values Array(UInt64) ProfileEvents.Names 列中列出的此线程的指标值
Settings.Names Array(String) 设置名称
Settings.Values Array(String) 设置值
current_database String 当前数据库的名称

2. query_log(执行信息)

包含已执行查询的信息,例如开始时间、处理持续时间、错误消息。不包含 INSERT 语句,可以在config.xml里设置query_log,可以通过setting log_queries = 0关闭,不会自动删除记录,可以设置ttl属性的表。通过SYSTEM FLUSH LOGS可以强制刷写。每个查询在 query_log 表中创建1~2行,具体取决于查询的状态:

  1. 查询执行成功,则会创建 QueryStart 和 QueryFinish 类型的事件。
  2. 查询期间发生错误,则会创建QueryStart 和 ExceptionWhileProcessing 类型的事件。
  3. 查询之前发生错误,则会创建一个具有 ExceptionBeforeStart 类型的事件。
name type comment
type Enum8(
‘QueryStart’ = 1,
‘QueryFinish’ = 2,
‘ExceptionBeforeStart’ = 3,
‘ExceptionWhileProcessing’ = 4
)
执行查询时发生的事件类型
1 成功开始查询执行。
2 查询执行成功结束。
3 查询执行开始前的异常。
4 查询执行期间的异常。
event_date Date 线程完成查询执行的日期
event_time DateTime 线程完成查询执行的日期和时间
event_time_microseconds DateTime64(6) 线程完成查询执行的日期和时间毫秒
query_start_time DateTime 查询执行的开始时间
query_start_time_microseconds DateTime64(6) 查询执行的开始时间毫秒
query_duration_ms UInt64 查询执行的消耗时长
read_rows UInt64 读取行数
read_bytes UInt64 读取字节数
written_rows UInt64 写入的行数
对于查询列值为0
written_bytes UInt64 写入的字节数
对于查询列值为0
result_rows UInt64 SELECT 查询结果中的行数,或 INSERT 查询中的行数
result_bytes UInt64 用于存储查询结果的 RAM 容量(以字节为单位)
memory_usage UInt64 在此线程上下文中分配和释放的内存数量之间的差异
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 堆栈跟踪。如果查询成功完成,则为空字符串
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 查询中传递的 HTTP 标头 UserAgent
http_referer String 在 HTTP 查询中传递的 HTTP 标头 Referer(包含进行查询的页面的绝对或部分地址)
forwarded_for String 在 HTTP 查询中传递的 HTTP 标头 X-Forwarded-For
quota_key String 在配额设置中指定的配额键
revision UInt32 ClickHouse 修订版
log_comment String 记录备注。
它可以设置为不超过max_query_size的任意字符串
如果未定义,则为空字符串
thread_ids Array(UInt64) 参与查询执行的线程 ID
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 列中列出的设置值
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) 在查询执行期间使用的表函数的规范名称

3. query_thread_log (执行线程信息)

包含有关执行查询的线程的信息,例如线程名称、线程开始时间、查询处理的持续时间。开启该日志需要:

  1. 配置log_query_threads参数
  2. 设置log_query_threads=1

刷新周期通过flush_interval_milliseconds 参数设置,使用 SYSTEM FLUSH LOGS 要强制刷新。

name type comment
event_date Date 线程完成查询执行的日期
event_time DateTime 线程完成查询执行的日期和时间
event_time_microseconds DateTime64(6) 线程完成查询执行的日期和时间毫秒
query_start_time DateTime 查询开始时间
query_start_time_microseconds DateTime64(6) 查询开始时间毫秒
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_id UInt64 线程ID
master_thread_id UInt64 初始线程的初始ID
current_database String 初始线程的操作系统初始 ID
query String 查询语句
normalized_query_hash UInt64 标准化查询哈希
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 擦做系统用户
client_hostname String 运行客户端的主机名
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 请求中传递的 UserAgent 标头
forwarded_for String 在 HTTP 查询中传递的 HTTP 标头 X-Forwarded-For
quota_key String 配额设置中指定的配额键
revision UInt32 clickhouse 修订版本
ProfileEvents.Names Array(String) 测量不同指标的机器数
ProfileEvents.Values Array(UInt64) 在 ProfileEvents.Names 中列出的指标值

4. mutations(mutation 操作记录表)

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

name type comment
database String 数据库名
table String 数据表名
mutation_id String 操作 ID
对于副本集的表,
这些id对应于ZooKeeper中的
/mutations/
目录中的znode名称。
对于没有副本的表,id对应于表的数据目录中的文件名。
command String 命令字符串
(ALTER TABLE [db.] TABLE后的查询部分)
create_time DateTime 当提交执行此变化命令的时间
block_numbers.partition_id Array(String) 对于复制表,数组包含分区的 ID(每个分区一个记录)。对于非复制表,数组为空。
block_numbers.number Array(Int64) 对于复制表,数组包含每个分区的一条记录,以及获得的块号。只有包含数字小于此数字的块的部分才会在分区中发生变更。在非复制表中所有分区中的块号形成一个序列,该列将包含一条记录,该记录具有通过mutation获得的单个块号。
parts_to_do_names Array(String) 数据部分的名称数组
parts_to_do Int64 需要为完成变化而进行突变的数据变化的数量
is_done UInt8 是否完成,
即使parts_to_do = 0,由于长时间运行的插入操作将创建需要进行修改的新的新数据片段,复制表的修改仍然有可能没有完成
latest_failed_part String 最近不能修改的数据片段的名称
latest_fail_time DateTime 最新数据片段修改失败的时间
latest_fail_reason String 导致最近的数据片段修改失败的异常消息

5. distributed_ddl_queue(分布式 DDL 队列)

包含有关在集群上执行的分布式 ddl 查询(ON CLUSTER 子句)的信息

name type comment
entry String 查询ID
host_name String 主机名
host_address String IP
port UInt16 端口
status Enum8(
‘Active’ = 0,
‘Finished’ = 1,
‘Unknown’ = 2,
‘Errored’ = 3
)
查询状态
cluster String 集群名称
query String 执行的语句
initiator String 执行查询的节点
query_start_time DateTime 查询开始时间
query_finish_time DateTime 查询结束时间
query_duration_ms UInt64 执行时间,毫秒
exception_code Enum8(
‘ZSESSIONMOVED’ = -118,
‘ZNOTHING’ = -117,
‘ZCLOSING’ = -116,
‘ZAUTHFAILED’ = -115,
‘ZINVALIDACL’ = -114,
‘ZINVALIDCALLBACK’ = -113,
‘ZSESSIONEXPIRED’ = -112,
‘ZNOTEMPTY’ = -111,
‘ZNODEEXISTS’ = -110,
‘ZNOCHILDRENFOREPHEMERALS’ = -108,
‘ZBADVERSION’ = -103,
‘ZNOAUTH’ = -102,
‘ZNONODE’ = -101,
‘ZAPIERROR’ = -100,
‘ZINVALIDSTATE’ = -9,
‘ZBADARGUMENTS’ = -8,
‘ZOPERATIONTIMEOUT’ = -7,
‘ZUNIMPLEMENTED’ = -6,
‘ZMARSHALLINGERROR’ = -5,
‘ZCONNECTIONLOSS’ = -4,
‘ZDATAINCONSISTENCY’ = -3,
‘ZRUNTIMEINCONSISTENCY’ = -2,
‘ZSYSTEMERROR’ = -1,
‘ZOK’ = 0
)
ZooKeeper 的异常代码

6. distribution_queue(分发队列中的信息)

包含要发送到分片的队列中的本地文件的信息。这些本地文件通过以异步模式将新数据插入分布式表而创建的新部分。

name type comment
database String 库名
table String 表名
data_path String 包含本地文件的文件夹的路径
is_blocked UInt8 标志指示是否阻止向服务器发送本地文件
error_count UInt64 错误数
data_files UInt64 文件夹中的本地文件数
data_compressed_bytes UInt64 本地文件中压缩数据的大小,以字节为单位
last_exception String 关于发生的最后一个错误(如果有)的文本消息

7. replication_queue(复制表任务队列)

包含有关存储在 ZooKeeper 中的复制队列任务的信息,用于 ReplicatedMergeTree 系列中的表。

name type comment
database String 数据库的名称
table String 数据表的名称
replica_name String ZooKeeper 中的副本名称。同一张表的不同副本有不同的名称。
position UInt32 任务在队列中的位置。
node_name String ZooKeeper 中的节点名称
type String 队列中任务的类型,以下之一:
GET_PART — 从另一个副本中获取零件。
ATTACH_PART — 附加分区,可能来自我们自己的副本(如果在分离的文件夹中找到)。
MERGE_PARTS — 合并分区。
DROP_RANGE — 删除指定分区中指定编号范围内的部分。
CLEAR_COLUMN — 已弃用。从指定分区删除特定列。
CLEAR_INDEX — 已弃用。从指定分区删除特定索引。
REPLACE_RANGE — 删除一定范围的分区并用新分区替换。
MUTATE_PART — 对分区应用一个或多个mutation。
ALTER_METADATA — 根据全局 /metadata 和 /columns 路径应用更改修改。
create_time DateTime 提交任务执行的日期和时间
required_quorum UInt32 等待任务完成并确认完成的副本数。此列仅与 GET_PARTS 任务相关
source_replica String 源副本的名称
new_part_name String 新部件的名称
parts_to_merge Array(String) 要合并或更新的分区的名称
is_detach UInt8 该标志指示 DETACH_PARTS 任务是否在队列中
is_currently_executing UInt8 该标志指示当前是否正在执行特定任务
num_tries UInt32 完成任务的失败尝试次数
last_exception String 关于发生的最后一个错误(如果有)的文本消息
last_attempt_time DateTime 上次尝试任务的日期和时间
num_postponed UInt32 推迟任务的数量
postpone_reason String 任务被推迟的原因
last_postpone_time DateTime 上次推迟任务的日期和时间
merge_type String 当前合并的类型。如果是mutation则为空

文章作者: hnbian
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 hnbian !
评论
 上一篇
ClickHouse元数据 3.运行时监控信息 ClickHouse元数据 3.运行时监控信息
1. trace_log(跟踪信息)记录由抽样查询分析器收集的堆栈调用信息。 ClickHouse只有在trace_log服务器配置配置部分设置时才会创建这个表。还应该设置 query_profiler_real_time__ns 和 qu
2021-08-02
下一篇 
ClickHouse元数据 1.表相关元数据 ClickHouse元数据 1.表相关元数据
1. disks(磁盘信息表)记录有关服务器配置中定义的磁盘的信息。 name type comment name String 磁盘名称 path String 指向文件系统中的挂载点路径 free_space UIn
2021-08-01
  目录