Lets say we have a Kubernetes cluster (on production) that logs to Logstash.
We want that a specific segment of the logs to be sent to our remote Splunk machine (VM).
The design is to add Splunk forwarder that will collect the logs and send it forward.
We can just run the splunk forwarder in a docker container and expose it has a service inside the k8s cluster.
But I wish to decouple the Log collector from the Splunk forwarder and run a much lighter Log collector like Rsyslog or Syslog-ng inside a sidecar container that will share a volume with the Splunk forwarder (or any other forwarder that might replace it in the future).
Searching for a solution I found some projects (list below) that seems to be not yet production ready.
The decoupling of the log collector seemed like a trivial design pattern to me, but with the lack of a stable official solution I start to wonder maybe there is a reason for that.
From the other hand, maybe more modern (and less lighter) solutions like fluentd took over and left the Syslog legacy solutions behind.
Any ideas?
Rsyslog-docker projects:
https://github.com/rsyslog/rsyslog-docker
https://github.com/jumanjihouse/docker-rsyslog
https://github.com/deoren/rsyslog-docker
https://github.com/camptocamp/docker-rsyslog-bin/blob/master/Dockerfile
https://github.com/megastef/rsyslog-logsene
Syslog-ng-docker projects:
https://github.com/mumblepins-docker/syslog-ng-alpine
https://hub.docker.com/r/balabit/syslog-ng/ <--- Looks like the most stable solution.