<div dir="ltr">Hi,<div><br></div><div>I'm running NSD and Unbound on Kubernetes, and I wanted to run the DNS Stats Collector alongside them.  To this end I created a Docker image for Collector (<a href="https://github.com/SeanBurford/dns-stats-docker">https://github.com/SeanBurford/dns-stats-docker</a>).  I'm sharing it here in case others find it useful.</div><div><br></div><div>There are README.md files throughout the tree recording my thoughts, but here are the main points:</div><div><ul><li>Dockerfile (<a href="https://github.com/SeanBurford/dns-stats-docker/blob/main/compactor/Dockerfile">https://github.com/SeanBurford/dns-stats-docker/blob/main/compactor/Dockerfile</a>) contains the directions used to build the binaries and then the container. </li><li>bin/start_compactor.sh adds the hostname to the output file template, which is handy when you're running multiple instances on Kubernetes (they all have unique hostnames).</li><li>I use a Unix socket to pass dnstap messages from the name servers to the compactors, with one compactor instance per name server instance.</li><li>I'm using NFS to mount a shared log directory across the instances, though there are plenty of options for cluster filesystems.</li><li>I would have preferred to use Alpine Linux, however various dependencies made Ubuntu (Focal) an easier choice.  This is fine, Alpine Linux containers run alongside Ubuntu containers in a single Kubernetes pod (sharing the dnstap Unix socket).</li></ul><div>Feel free to send pull requests or suggestions.</div><div><br></div>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature">Thanks,<br>Sean Burford</div></div></div>