> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-fix-nav-issues.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> ZooKeeper サーバーへのリクエストのパラメータと、そのレスポンスに関する情報を含むシステムテーブル。

# system.zookeeper_log

<div id="description">
  ## 説明
</div>

このテーブルには、ZooKeeper サーバーへのリクエストのパラメータと、そのレスポンスに関する情報が含まれています。

リクエストについては、リクエストパラメータに対応するカラムのみが埋められ、残りのカラムにはデフォルト値 (`0` または `NULL`) が設定されます。レスポンスが返されると、そのデータが他のカラムに追加されます。

<div id="columns">
  ## カラム
</div>

* `hostname` ([LowCardinality(String)](/ja/reference/data-types/lowcardinality)) — クエリを実行するサーバーのホスト名。
* `type` ([Enum8('Request' = 1, 'Response' = 2, 'Finalize' = 3)](/ja/reference/data-types/enum)) — ZooKeeper クライアントのイベントタイプ。取り得る値は次のいずれかです: Request — リクエストが送信された、Response — レスポンスを受信した、Finalize — 接続が失われ、レスポンスは受信されなかった。
* `event_date` ([Date](/ja/reference/data-types/date)) — イベントが発生した日付です。
* `event_time` ([DateTime64(6)](/ja/reference/data-types/datetime64)) — イベントが発生した日時。
* `thread_id` ([UInt64](/ja/reference/data-types/int-uint)) — このリクエストを実行したスレッドのID。
* `query_id` ([String](/ja/reference/data-types/string)) — このリクエストがそのスコープ内で実行されたクエリの ID。
* `address` ([IPv6](/ja/reference/data-types/ipv6)) — リクエストの送信に使用された ZooKeeper サーバーの IP アドレス。
* `port` ([UInt16](/ja/reference/data-types/int-uint)) — リクエストの送信先として使用された ZooKeeper サーバーのポート。
* `session_id` ([Int64](/ja/reference/data-types/int-uint)) — ZooKeeper サーバーが各接続に対して設定するセッション ID。
* `duration_microseconds` ([UInt64](/ja/reference/data-types/int-uint)) — ZooKeeper がリクエストの実行に要した時間。
* `xid` ([Int64](/ja/reference/data-types/int-uint)) — セッション内におけるリクエストの ID です。通常は連番のリクエスト番号です。リクエストの行と、対応するレスポンス/finalize の行では同じ値になります。
* `has_watch` ([UInt8](/ja/reference/data-types/int-uint)) — 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, '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)](/ja/reference/data-types/enum)) — リクエストまたはレスポンスの種別。
* `path` ([String](/ja/reference/data-types/string)) — リクエストで指定されたZooKeeperノードのパス。リクエストでパスを指定する必要がない場合は空文字列です。
* `data` ([String](/ja/reference/data-types/string)) — ZooKeeper ノードに書き込まれるデータ (SET および CREATE リクエストではリクエストが書き込もうとした内容、GET リクエストのレスポンスでは読み取られた内容) 、または空文字列。
* `is_ephemeral` ([UInt8](/ja/reference/data-types/int-uint)) — ZooKeeper ノードがエフェメラルノードとして作成されているかどうか。
* `is_sequential` ([UInt8](/ja/reference/data-types/int-uint)) — ZooKeeper ノードが sequential モードで作成されるかどうか。
* `version` ([Nullable(Int32)](/ja/reference/data-types/nullable)) — 実行時にリクエストが想定している ZooKeeper ノードのバージョンです。これは CHECK、SET、REMOVE リクエストでサポートされます (リクエストでバージョンを確認しない場合は -1、バージョン確認をサポートしないその他のリクエストでは NULL が該当します) 。
* `requests_size` ([UInt32](/ja/reference/data-types/int-uint)) — マルチリクエストに含まれるリクエスト数です (マルチリクエストとは、複数の通常のリクエストが連続して構成された特別なリクエストで、それらをアトミックに実行します) 。マルチリクエストに含まれるすべてのリクエストは、同じ xid を持ちます。
* `request_idx` ([UInt32](/ja/reference/data-types/int-uint)) — マルチリクエストに含まれるリクエストの番号 (マルチリクエストでは 0、その後は 1 から順に割り当てられます) 。
* `zxid` ([Int64](/ja/reference/data-types/int-uint)) — 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))](/ja/reference/data-types/nullable)) — エラーコード。取り得る値は多数ありますが、ここではその一部のみを示します: ZOK — リクエストは正常に実行されました、ZCONNECTIONLOSS — 接続が失われました、ZOPERATIONTIMEOUT — リクエスト実行のタイムアウトが発生しました、ZSESSIONEXPIRED — セッションの有効期限が切れました、NULL — リクエストは完了しています。
* `watch_type` ([Nullable(Enum8('NOTWATCHING' = -2, 'SESSION' = -1, 'CREATED' = 1, 'DELETED' = 2, 'CHANGED' = 3, 'CHILD' = 4))](/ja/reference/data-types/nullable)) — ウォッチイベントの種類 (op\_num = Watch のレスポンスの場合) 。それ以外のレスポンスでは NULL。
* `watch_state` ([Nullable(Enum16('AUTH\_FAILED' = -113, 'EXPIRED\_SESSION' = -112, 'CONNECTING' = 1, 'ASSOCIATING' = 2, 'CONNECTED' = 3, 'READONLY' = 5, 'NOTCONNECTED' = 999))](/ja/reference/data-types/nullable)) — watch イベントのステータス (op\_num = Watch の応答の場合) 。それ以外の応答では NULL。
* `path_created` ([String](/ja/reference/data-types/string)) — 作成されたZooKeeperノードへのパス (CREATEリクエストへの応答の場合) 。ノードがsequentialとして作成された場合、このパスは`path`と異なることがあります。
* `stat_czxid` ([Int64](/ja/reference/data-types/int-uint)) — このZooKeeperノードの作成の原因となった変更のzxid。
* `stat_mzxid` ([Int64](/ja/reference/data-types/int-uint)) — このZooKeeperノードを最後に変更した更新のzxidです。
* `stat_pzxid` ([Int64](/ja/reference/data-types/int-uint)) — この ZooKeeper ノードの子ノードを最後に変更したトランザクションの ID。
* `stat_version` ([Int32](/ja/reference/data-types/int-uint)) — このZooKeeperノードのデータが変更された回数。
* `stat_cversion` ([Int32](/ja/reference/data-types/int-uint)) — このZooKeeperノードの子ノードに対する変更回数。
* `stat_dataLength` ([Int32](/ja/reference/data-types/int-uint)) — このZooKeeperノードのdataフィールドの長さです。
* `stat_numChildren` ([Int32](/ja/reference/data-types/int-uint)) — このZooKeeperノードの子ノードの数。
* `children` ([Array(String)](/ja/reference/data-types/array)) — 子 ZooKeeper ノードのリスト (LIST リクエストへの応答) 。

<div id="example">
  ## 例
</div>

```sql title="Query" theme={null}
SELECT * FROM system.zookeeper_log WHERE (session_id = '106662742089334927') AND (xid = '10858') FORMAT Vertical;
```

```text title="Response" theme={null}
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']
```

<div id="see-also">
  ## 関連項目
</div>

* [ZooKeeper](/ja/guides/oss/best-practices/tips#zookeeper)
* [ZooKeeper のガイド](https://zookeeper.apache.org/doc/r3.3.3/zookeeperProgrammers.html)
