Using Kafka protocol filter with Istio

Hi,

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 :frowning: 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:

sidecar.istio.io/statsInclusionPrefixes: cluster_manager,listener_manager,broker

Any idea? Someone already managed to use this protocol filter with Istio?