I’m trying to use the kafka protocol filter (https://www.envoyproxy.io/docs/envoy/latest/configuration/listeners/network_filters/kafka_broker_filter) to get some additional metrics.
I’m new to using envoy filters, so perhaps there’s a couple a things I didn’t fully understand, but I was able to set it up, it kinda produce metrics and my app continues to work, which is already great!
However, all counters are … stuck to 0 despite traffic flowing through kafka.
What I’m doing is applying this filter on my client sidecars. Perhaps that’s my mistake and it’s only meant to work on kafka pod itself?
Here’s the EnvoyFilter object I’m using:
apiVersion: networking.istio.io/v1alpha3 kind: EnvoyFilter metadata: name: kafka-protocol namespace: default spec: configPatches: - applyTo: NETWORK_FILTER match: context: SIDECAR_OUTBOUND listener: portNumber: 9092 filterChain: filter: name: "envoy.tcp_proxy" patch: operation: INSERT_BEFORE value: name: "envoy.filters.network.kafka_broker" typed_config: "@type": type.googleapis.com/envoy.config.filter.network.kafka_broker.v2alpha1.KafkaBroker stat_prefix: broker
and in pods, the corresponding annotation has to be set:
Any idea? Someone already managed to use this protocol filter with Istio?