ZooKeeper proxy
The ZooKeeper proxy filter decodes the client protocol for Apache ZooKeeper. It decodes the requests, responses and events in the payload. Most opcodes known in ZooKeeper 3.5 are supported. The unsupported ones are related to SASL authentication.
Attention
The zookeeper_proxy filter is experimental and is currently under active development. Capabilities will be expanded over time and the configuration structures are likely to change.
Configuration
The ZooKeeper proxy filter should be chained with the TCP proxy filter as shown in the configuration snippet below:
filter_chains:
- filters:
- name: envoy.filters.network.zookeeper_proxy
config:
stat_prefix: zookeeper
- name: envoy.tcp_proxy
config:
stat_prefix: tcp
cluster: ...
Statistics
Every configured ZooKeeper proxy filter has statistics rooted at zookeeper.
Name | Type | Description |
---|---|---|
decoder_error | Counter | Number of times a message wasn’t decoded |
request_bytes | Counter | Number of bytes in decoded request messages |
connect_rq | Counter | Number of regular connect (non-readonly) requests |
connect_readonly_rq | Counter | Number of connect requests with the readonly flag set |
ping_rq | Counter | Number of ping requests |
auth.<type>_rq | Counter | Number of auth requests for a given type |
getdata_rq | Counter | Number of getdata requests |
create_rq | Counter | Number of create requests |
create2_rq | Counter | Number of create2 requests |
setdata_rq | Counter | Number of setdata requests |
getchildren_rq | Counter | Number of getchildren requests |
getchildren2_rq | Counter | Number of getchildren2 requests |
remove_rq | Counter | Number of delete requests |
exists_rq | Counter | Number of stat requests |
getacl_rq | Counter | Number of getacl requests |
setacl_rq | Counter | Number of setacl requests |
sync_rq | Counter | Number of sync requests |
multi_rq | Counter | Number of multi transaction requests |
reconfig_rq | Counter | Number of reconfig requests |
close_rq | Counter | Number of close requests |
setwatches_rq | Counter | Number of setwatches requests |
checkwatches_rq | Counter | Number of checkwatches requests |
removewatches_rq | Counter | Number of removewatches requests |
check_rq | Counter | Number of check requests |
response_bytes | Counter | Number of bytes in decoded response messages |
connect_resp | Counter | Number of connect responses |
ping_resp | Counter | Number of ping responses |
auth_resp | Counter | Number of auth responses |
watch_event | Counter | Number of watch events fired by the server |
getdata_resp | Counter | Number of getdata responses |
create_resp | Counter | Number of create responses |
create2_resp | Counter | Number of create2 responses |
createcontainer_resp | Counter | Number of createcontainer responses |
createttl_resp | Counter | Number of createttl responses |
setdata_resp | Counter | Number of setdata responses |
getchildren_resp | Counter | Number of getchildren responses |
getchildren2_resp | Counter | Number of getchildren2 responses |
getephemerals_resp | Counter | Number of getephemerals responses |
getallchildrennumber_resp | Counter | Number of getallchildrennumber responses |
remove_resp | Counter | Number of remove responses |
exists_resp | Counter | Number of exists responses |
getacl_resp | Counter | Number of getacl responses |
setacl_resp | Counter | Number of setacl responses |
sync_resp | Counter | Number of sync responses |
multi_resp | Counter | Number of multi responses |
reconfig_resp | Counter | Number of reconfig responses |
close_resp | Counter | Number of close responses |
setauth_resp | Counter | Number of setauth responses |
setwatches_resp | Counter | Number of setwatches responses |
checkwatches_resp | Counter | Number of checkwatches responses |
removewatches_resp | Counter | Number of removewatches responses |
check_resp | Counter | Number of check responses |
Dynamic Metadata
The ZooKeeper filter emits the following dynamic metadata for each message parsed:
Name | Type | Description |
---|---|---|
<path> | string | The path associated with the request, response or event |
<opname> | string | The opname for the request, response or event |
<create_type> | string | The string representation of the flags applied to the znode |
<bytes> | string | The size of the request message in bytes |
<watch> | string | True if a watch is being set, false otherwise |
<version> | string | The version parameter, if any, given with the request |
<timeout> | string | The timeout parameter in a connect response |
<protocol_version> | string | The protocol version in a connect response |
<readonly> | string | The readonly flag in a connect response |
<zxid> | string | The zxid field in a response header |
<error> | string | The error field in a response header |
<client_state> | string | The state field in a watch event |
<event_type> | string | The event type in a a watch event |