설명
이 테이블에는 ZooKeeper 서버로 전송되는 요청의 매개변수와 해당 서버의 응답 정보가 포함되어 있습니다.
요청의 경우 요청 매개변수가 있는 컬럼만 채워지고, 나머지 컬럼은 기본값(0 또는 NULL)으로 채워집니다. 응답이 도착하면 응답 데이터가 다른 컬럼에 추가됩니다.
컬럼
hostname(LowCardinality(String)) — 쿼리를 실행하는 server의 호스트명입니다.type(Enum8('Request' = 1, 'Response' = 2, 'Finalize' = 3)) — ZooKeeper 클라이언트의 이벤트 유형입니다. 값은 다음 중 하나입니다: Request — 요청이 전송됨, Response — 응답을 수신함, Finalize — 연결이 끊겨 응답을 수신하지 못함.event_date(Date) — 이벤트가 발생한 날짜입니다.event_time(DateTime64(6)) — 이벤트가 발생한 시각입니다.thread_id(UInt64) — 이 요청을 실행한 스레드의 ID입니다.query_id(String) — 이 요청이 실행된 쿼리의 ID입니다.address(IPv6) — 요청을 보내는 데 사용된 ZooKeeper 서버의 IP 주소입니다.port(UInt16) — 요청을 보내는 데 사용된 ZooKeeper 서버의 포트입니다.session_id(Int64) — ZooKeeper 서버가 각 연결에 설정하는 세션 ID입니다.duration_microseconds(UInt64) — ZooKeeper가 요청을 처리하는 데 걸린 시간입니다.xid(Int64) — 세션 내 요청의 ID입니다. 일반적으로 순차적인 요청 번호입니다. 요청 행과 짝을 이루는 응답/finalize 행에서 동일한 값을 가집니다.has_watch(UInt8) — watch가 설정되었는지 여부를 나타내는 요청입니다.op_num(Enum16('Close' = -11, 'Error' = -1, 'Watch' = 0, 'Create' = 1, 'Remove' = 2, 'Exists' = 3, 'Get' = 4, 'Set' = 5, 'GetACL' = 6, 'SetACL' = 7, 'SimpleList' = 8, 'Sync' = 9, 'Heartbeat' = 11, 'List' = 12, 'Check' = 13, 'Multi' = 14, 'Create2' = 15, 'Reconfig' = 16, 'CheckWatch' = 17, 'RemoveWatch' = 18, 'CreateContainer' = 19, 'CreateTTL' = 21, 'MultiRead' = 22, 'Auth' = 100, 'SetWatch' = 101, 'SetWatch2' = 105, 'AddWatch' = 106, 'FilteredList' = 500, 'CheckNotExists' = 501, 'CreateIfNotExists' = 502, 'RemoveRecursive' = 503, 'CheckStat' = 504, 'TryRemove' = 505, 'FilteredListWithStatsAndData' = 506, 'ListRecursive' = 507, 'SessionID' = 997)) — 요청 또는 응답 유형.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(Enum8('ZNOWATCHER' = -121, 'ZNOTREADONLY' = -119, '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, 'ZOUTOFMEMORY' = -10, 'ZINVALIDSTATE' = -9, 'ZBADARGUMENTS' = -8, 'ZOPERATIONTIMEOUT' = -7, 'ZUNIMPLEMENTED' = -6, 'ZMARSHALLINGERROR' = -5, 'ZCONNECTIONLOSS' = -4, 'ZDATAINCONSISTENCY' = -3, 'ZRUNTIMEINCONSISTENCY' = -2, 'ZSYSTEMERROR' = -1, 'ZOK' = 0))) — 오류 코드입니다. 가질 수 있는 값은 많으며, 여기에 일부만 나와 있습니다: ZOK — 요청이 성공적으로 실행되었습니다, ZCONNECTIONLOSS — 연결이 끊어졌습니다, ZOPERATIONTIMEOUT — 요청 실행 시간 초과가 발생했습니다, ZSESSIONEXPIRED — 세션이 만료되었습니다, NULL — 요청이 완료되었습니다.watch_type(널 허용(Enum8('NOTWATCHING' = -2, 'SESSION' = -1, 'CREATED' = 1, 'DELETED' = 2, 'CHANGED' = 3, 'CHILD' = 4))) — watch 이벤트의 유형입니다(op_num = Watch인 응답의 경우). 그 외 응답에서는 NULL입니다.watch_state(Nullable(Enum16('AUTH_FAILED' = -113, 'EXPIRED_SESSION' = -112, 'CONNECTING' = 1, 'ASSOCIATING' = 2, 'CONNECTED' = 3, 'READONLY' = 5, 'NOTCONNECTED' = 999))) — 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 노드의 자식 노드를 마지막으로 수정한 변경의 트랜잭션 ID입니다.stat_version(Int32) — 이 ZooKeeper 노드 데이터의 변경 횟수입니다.stat_cversion(Int32) — 이 ZooKeeper 노드의 자식 노드 변경 횟수입니다.stat_dataLength(Int32) — 이 ZooKeeper 노드의 데이터 필드의 길이입니다.stat_numChildren(Int32) — 이 ZooKeeper 노드의 하위 노드 수입니다.children(Array(String)) — 하위 ZooKeeper 노드의 목록입니다(LIST 요청에 대한 응답).
예시
SELECT * FROM system.zookeeper_log WHERE (session_id = '106662742089334927') AND (xid = '10858') FORMAT Vertical;Row 1:
──────
hostname: clickhouse.eu-central1.internal
type: Request
event_date: 2021-08-09
event_time: 2021-08-09 21:38:30.291792
address: ::
port: 2181
session_id: 106662742089334927
xid: 10858
has_watch: 1
op_num: List
path: /clickhouse/task_queue/ddl
data:
is_ephemeral: 0
is_sequential: 0
version: ᴺᵁᴸᴸ
requests_size: 0
request_idx: 0
zxid: 0
error: ᴺᵁᴸᴸ
watch_type: ᴺᵁᴸᴸ
watch_state: ᴺᵁᴸᴸ
path_created:
stat_czxid: 0
stat_mzxid: 0
stat_pzxid: 0
stat_version: 0
stat_cversion: 0
stat_dataLength: 0
stat_numChildren: 0
children: []
Row 2:
──────
type: Response
event_date: 2021-08-09
event_time: 2021-08-09 21:38:30.292086
address: ::
port: 2181
session_id: 106662742089334927
xid: 10858
has_watch: 1
op_num: List
path: /clickhouse/task_queue/ddl
data:
is_ephemeral: 0
is_sequential: 0
version: ᴺᵁᴸᴸ
requests_size: 0
request_idx: 0
zxid: 16926267
error: ZOK
watch_type: ᴺᵁᴸᴸ
watch_state: ᴺᵁᴸᴸ
path_created:
stat_czxid: 16925469
stat_mzxid: 16925469
stat_pzxid: 16926179
stat_version: 0
stat_cversion: 7
stat_dataLength: 0
stat_numChildren: 7
children: ['query-0000000006','query-0000000005','query-0000000004','query-0000000003','query-0000000002','query-0000000001','query-0000000000']