Try rsyslog module for Apache kafka, omkafka on Docker container.
$ docker build -t tcnksm/omkafka .
Start kafka broker,
$ docker run --rm -it \
--name kafka \
--publish 9092:9092 \
--env ADVERTISED_HOST=${DOCKER_HOST} \
--env ADVERTISED_PORT=9092 \
tcnksm/single-kafka
Login to rsyslog docker container with link to kafka broker,
$ docker run --rm -it --link kafka:kafka tcnksm/omkafka bash
Check kafka broker host it's provided via env var,
# env
Run rsyslog and send log by hand,
# rsyslog
# logger 'Hello, world'
Check the log can be consumed, you can find Hello world
message.
$ kafkacat -C -t omkafka -b ${DOCKER_HOST}:9092