Monitoring Interceptors librdkafka-based Clients in docker

Hi, i’m trying to find a proper way to use monitoring interceptors for .net kafka client while running in docker container.
Localy when run on windows everything works fine and this turorial helps a lot Confluent Monitoring Interceptors | Confluent Documentation
But when we are mobing to a real world usage more questions arised as:

  1. Where to get proper monitoring interceptor distribution? We are not running “Confluent Community” version, our company is using Confluent For Kubernetes and I’m not sure that we can use any “community” edition on production.
  2. How to spin .net kafka client with monitoring interceptor in docker? Won’t having DLL still be an option or we need to install some package on top of our docker images?


Ok. so I’ve managed to build my app and install monitoring interceptor to docker image like this

FROM AS build
COPY . .
RUN dotnet restore "#{pseudo_proj_path}"
RUN dotnet publish "#{pseudo_proj_path}" -c Release -o /app/publish

FROM  AS final

RUN apt-get update && apt-get install -y gnupg2 && apt-get install -y  software-properties-common && apt install wget
RUN wget -qO - | apt-key add -
RUN add-apt-repository "deb [arch=amd64] stable main"
RUN add-apt-repository "deb focal main"
RUN apt-get update && apt-get install confluent-librdkafka-plugins

COPY --from=build /app/publish .
ENTRYPOINT ["dotnet", "#{pseudo_dll}"]

But what I’m receiving now is error

System.ArgumentException: dlopen() failed: /lib/x86_64-linux-gnu/ undefined symbol: rd_kafka_conf_dup_filter (plugin monitoring-interceptor)

Still assuming that I’ve installed something wrong/incompatible