system.zookeeper_log
此表包含有关对 ZooKeeper 服务器的请求及其响应的参数的信息.
对于请求,只填充有请求参数的列,其余列填充默认值 (0 or NULL). 当响应到达时,来自响应的数据被添加到其他列.
带有请求参数的列:
type(Enum) — ZooKeeper 客户端中的事件类型. 可以具有以下值之一:Request— 请求已发送.Response— 已收到回复.Finalize— 连接丢失, 未收到响应.
event_date(Date) — 事件发生的日期.event_time(DateTime64) — 事件发生的日期和时间.address(IPv6) — 用于发出请求的 ZooKeeper 服务器的 IP 地址.port(UInt16) — 用于发出请求的 ZooKeeper 服务器的端口.session_id(Int64) — ZooKeeper 服务器为每个连接设置的会话 ID.xid(Int32) — 会话中请求的 ID. 这通常是一个连续的请求编号. 请求行和配对的response/finalize行相同.has_watch(UInt8) — 请求是否设置了 watch .op_num(Enum) — 请求或响应的类型.path(String) — 请求中指定的 ZooKeeper 节点的路径, 如果请求不需要指定路径, 则为空字符串.data(String) — 写入 ZooKeeper 节点的数据(对于SET和CREATE请求 - 请求想要写入的内容,对于GET请求的响应 - 读取的内容)或空字符串.is_ephemeral(UInt8) — ZooKeeper 节点是否被创建为 ephemeral.is_sequential(UInt8) — ZooKeeper 节点是否被创建为 sequential.version(Nullable(Int32)) — 请求执行时期望的 ZooKeeper 节点的版本. 这支持CHECK、SET、REMOVE请求(如果请求不检查版本, 则为相关的-1或不支持版本检查的其他请求的NULL).requests_size(UInt32) —多请求中包含的请求数(这是一个特殊的请求,由几个连续的普通请求组成, 并以原子方式执行). 多请求中包含的所有请求都将具有相同的xid.request_idx(UInt32) — 包含在多请求中的请求数(对于多请求 —0,然后从1开始).
带有请求响应参数的列:
zxid(Int64) — ZooKeeper 事务 ID. ZooKeeper 服务器响应成功执行的请求而发出的序列号(0表示请求没有执行/返回错误/客户端不知道请求是否被执行).error(Nullable(Enum)) — 错误代码. 可以有很多值, 这里只是其中的一些:ZOK— 请求被安全执行.ZCONNECTIONLOSS— 连接丢失.ZOPERATIONTIMEOUT— 请求执行超时已过期.ZSESSIONEXPIRED— 会话已过期.NULL— 请求完成.
watch_type(Nullable(Enum)) —watch事件的类型(对于带有op_num=Watch的响应), 对于其余响应:NULL.watch_state(Nullable(Enum)) —watch事件的状态(对于带有op_num=Watch的响应), 对于其余响应:NULL.path_created(String) — 创建的 ZooKeeper 节点的路径(用于响应CREATE请求),如果节点被创建为sequential, 则可能与path不同.stat_czxid(Int64) — 导致创建此 ZooKeeper 节点的更改的zxid.stat_mzxid(Int64) — 最后一次修改该ZooKeeper节点的zxid.stat_pzxid(Int64) — 最后一次修改该ZooKeeper节点的子节点的事务IDstat_version(Int32) — 此 ZooKeeper 节点的数据更改次数.stat_cversion(Int32) — 此 ZooKeeper 节点的子节点的更改次数.stat_dataLength(Int32) — 这个 ZooKeeper 节点的数据字段的长度.stat_numChildren(Int32) — 此 ZooKeeper 节点的子节点数.children(Array(String)) — ZooKeeper 子节点列表(用于响应LIST请求).
示例
查询:
结果:
另请参阅