.. _config_network_filters_zookeeper_proxy:
ZooKeeper 代理
===============
ZooKeeper 代理过滤器解码 `Apache ZooKeeper `_ 的客户端协议。它能够对负载中的请求、响应、事件进行解码。其中支持 `ZooKeeper 3.5 `_ 中已知的大多数操作码。不支持的那就是与 SALS 认证有关。
.. attention::
ZooKeeper 代理过滤器目前在积极的开发中,还处于试验阶段。随着时间的推移,功能将会得到扩展,并且配置结构也可能会发生变化。
.. _config_network_filters_zookeeper_proxy_config:
配置
------
ZooKeeper 代理过滤器应该与 TCP 代理过滤器相连接,如下面的配置片段所示:
.. code-block:: yaml
filter_chains:
- filters:
- name: envoy.filters.network.zookeeper_proxy
typed_config:
"@type": type.googleapis.com/envoy.extensions.filters.network.zookeeper_proxy.v3.ZooKeeperProxy
stat_prefix: zookeeper
- name: envoy.filters.network.tcp_proxy
typed_config:
"@type": type.googleapis.com/envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy
stat_prefix: tcp
cluster: ...
.. _config_network_filters_zookeeper_proxy_stats:
统计
------
每一个ZooKeeper 代理过滤器的配置都有一个基于 *.zookeeper.* 的统计信息。可用的计数器如下:
.. csv-table::
:header: 名称, 类型, 描述
:widths: 1, 1, 2
decoder_error, Counter, 消息未解码的次数
request_bytes, Counter, 解码请求信息中的字节数
connect_rq, Counter, 常规连接(非只读)请求数
connect_readonly_rq, Counter, 设置了 readonly 标志的连接请求数
ping_rq, Counter, Ping 请求的数量
auth._rq, Counter, 给定类型的身份认证的请求数量
getdata_rq, Counter, 获取请求数据的数量
create_rq, Counter, create 请求数
create2_rq, Counter, create2 请求数
setdata_rq, Counter, setdata 请求数
getchildren_rq, Counter, getchildren 请求数
getchildren2_rq, Counter, getchildren2 请求数
remove_rq, Counter, 删除请求数
exists_rq, Counter, 统计请求数
getacl_rq, Counter, getacl 请求数
setacl_rq, Counter, setacl 请求数
sync_rq, Counter, 同步请求数
multi_rq, Counter, 多笔交易请求数
reconfig_rq, Counter, 重新配置请求数
close_rq, Counter, 关闭请求数
setwatches_rq, Counter, setwatches 请求数
checkwatches_rq, Counter, checkwatches 请求数
removewatches_rq, Counter, removewatches 请求数
check_rq, Counter, 检查请求数
response_bytes, Counter, 解码响应消息中的字节数
connect_resp, Counter, 连接响应数
ping_resp, Counter, Ping 响应数
auth_resp, Counter, 认证响应数
watch_event, Counter, 服务器触发的监视事件的数量
getdata_resp, Counter, getdata 响应数
create_resp, Counter, create 响应数
create2_resp, Counter, create2 响应数
createcontainer_resp, Counter, createcontainer 响应数
createttl_resp, Counter, createttl 响应数
setdata_resp, Counter, setdata 响应数
getchildren_resp, Counter, getchildren 响应数
getchildren2_resp, Counter, getchildren2 响应数
getephemerals_resp, Counter, getephemerals 响应数
getallchildrennumber_resp, Counter, getallchildrennumber 响应数
remove_resp, Counter, 删除响应数
exists_resp, Counter, 存在响应数
getacl_resp, Counter, getacl 响应数
setacl_resp, Counter, setacl 响应数
sync_resp, Counter, 同步响应数
multi_resp, Counter, 多笔交易响应数
reconfig_resp, Counter, 重新配置响应数
close_resp, Counter, 关闭响应数
setauth_resp, Counter, setauth 响应数
setwatches_resp, Counter, setwatches 响应数
checkwatches_resp, Counter, checkwatches 响应数
removewatches_resp, Counter, removewatches 响应数
check_resp, Counter, 检查响应数
.. _config_network_filters_zookeeper_proxy_latency_stats:
操作码延迟统计信息
-------------------
过滤器将在 *.zookeeper._response_latency* 命名空间中收集延迟统计信息。延迟统计信息以毫秒为单位:
.. csv-table::
:header: 名称, 类型, 描述
:widths: 1, 1, 2
connect_response_latency, Histogram, 操作码执行时间(毫秒)
ping_response_latency, Histogram, 操作码执行时间(毫秒)
auth_response_latency, Histogram, 操作码执行时间(毫秒)
watch_event, Histogram, 操作码执行时间(毫秒)
getdata_response_latency, Histogram, 操作码执行时间(毫秒)
create_response_latency, Histogram, 操作码执行时间(毫秒)
create2_response_latency, Histogram, 操作码执行时间(毫秒)
createcontainer_response_latency, Histogram, 操作码执行时间(毫秒)
createttl_response_latency, Histogram, 操作码执行时间(毫秒)
setdata_response_latency, Histogram, 操作码执行时间(毫秒)
getchildren_response_latency, Histogram, 操作码执行时间(毫秒)
getchildren2_response_latency, Histogram, 操作码执行时间(毫秒)
getephemerals_response_latency, Histogram, 操作码执行时间(毫秒)
getallchildrennumber_response_latency, Histogram, 操作码执行时间(毫秒)
remove_response_latency, Histogram, 操作码执行时间(毫秒)
exists_response_latency, Histogram, 操作码执行时间(毫秒)
getacl_response_latency, Histogram, 操作码执行时间(毫秒)
setacl_response_latency, Histogram, 操作码执行时间(毫秒)
sync_response_latency, Histogram, 操作码执行时间(毫秒)
multi_response_latency, Histogram, 操作码执行时间(毫秒)
reconfig_response_latency, Histogram, 操作码执行时间(毫秒)
close_response_latency, Histogram, 操作码执行时间(毫秒)
setauth_response_latency, Histogram, 操作码执行时间(毫秒)
setwatches_response_latency, Histogram, 操作码执行时间(毫秒)
checkwatches_response_latency, Histogram, 操作码执行时间(毫秒)
removewatches_response_latency, Histogram, 操作码执行时间(毫秒)
check_response_latency, Histogram, 操作码执行时间(毫秒)
.. _config_network_filters_zookeeper_proxy_dynamic_metadata:
动态元数据
----------------
ZooKeeper 过滤器分析每一个消息都会释放出以下动态元数据:
.. csv-table::
:header: 名称, 类型, 描述
:widths: 1, 1, 2
, string, 与请求、响应和事件关联的路径
, string, 与请求、响应和事件关联的操作名称
, string, 用于 znode 标志的字符串表示形式
, string, 以字节为单位欸的请求消息的大小
, string, 如果设置监听则为 True,否则为 False
, string, 请求中给定的 version 参数(如果有)
, string, 连接响应中的超时参数
, string, 连接响应中的协议版本
, string, 连接响应中的 readonly 标志
, string, 响应头中的 zxid 字段
, string, 响应头中的 error 字段
, string, 监听事件中的 state 字段
, string, 监听事件中的事件类型