ZooKeeper proxy filter (#5991)
This filter decodes the ZooKeeper wire protocol and emits stats & metadata about requests, responses and events. This wire protocol parsing is based on: https://github.com/twitter/zktraffic https://github.com/rgs1/zktraffic-cpp The actual filter structure is based on the Mysql proxy filter. Signed-off-by: Raul Gutierrez Segales <rgs@pinterest.com> Mirrored from https://github.com/envoyproxy/envoy @ b771f99f53142bbb1496dbcddccc5defaaaa8dd8pull/620/head
parent
8c3aa84e47
commit
7ed209e281
2 changed files with 41 additions and 0 deletions
@ -0,0 +1,8 @@ |
||||
load("//bazel:api_build_system.bzl", "api_proto_library_internal") |
||||
|
||||
licenses(["notice"]) # Apache 2 |
||||
|
||||
api_proto_library_internal( |
||||
name = "zookeeper_proxy", |
||||
srcs = ["zookeeper_proxy.proto"], |
||||
) |
@ -0,0 +1,33 @@ |
||||
syntax = "proto3"; |
||||
|
||||
package envoy.config.filter.network.zookeeper_proxy.v1alpha1; |
||||
|
||||
option java_outer_classname = "ZookeeperProxyProto"; |
||||
option java_multiple_files = true; |
||||
option java_package = "io.envoyproxy.envoy.config.filter.network.zookeeper_proxy.v1alpha1"; |
||||
option go_package = "v1alpha1"; |
||||
|
||||
import "validate/validate.proto"; |
||||
import "google/protobuf/wrappers.proto"; |
||||
|
||||
// [#protodoc-title: ZooKeeper proxy] |
||||
// ZooKeeper Proxy :ref:`configuration overview <config_network_filters_zookeeper_proxy>`. |
||||
message ZooKeeperProxy { |
||||
// The human readable prefix to use when emitting :ref:`statistics |
||||
// <config_network_filters_zookeeper_proxy_stats>`. |
||||
string stat_prefix = 1 [(validate.rules).string.min_bytes = 1]; |
||||
|
||||
// [#not-implemented-hide:] The optional path to use for writing ZooKeeper access logs. |
||||
// If the access log field is empty, access logs will not be written. |
||||
string access_log = 2; |
||||
|
||||
// Messages — requests, responses and events — that are bigger than this value will |
||||
// be ignored. If it is not set, the default value is 1Mb. |
||||
// |
||||
// The value here should match the jute.maxbuffer property in your cluster configuration: |
||||
// |
||||
// https://zookeeper.apache.org/doc/r3.4.10/zookeeperAdmin.html#Unsafe+Options |
||||
// |
||||
// if that is set. If it isn't, ZooKeeper's default is also 1Mb. |
||||
google.protobuf.UInt32Value max_packet_bytes = 3; |
||||
} |
Loading…
Reference in new issue