Допустим, у нас есть кластер Kubernetes (в производстве), который ведет журнал в Logstash.
Мы хотим, чтобы определенный сегмент журналов был отправлен на нашу удаленную машину Splunk (VM).
Планируется добавить сервер пересылки Splunk, который будет собирать журналы. и отправить его вперед.
Мы можем просто запустить пересылку splunk в док-контейнере и выставьте, что у него есть служба внутри кластера k8s.
Но я хочу отделить сборщик журналов от модуля пересылки Splunk и запустить гораздо более легкий сборщик журналов, такой как Rsyslog или Syslog-ng внутри контейнера sidecar, который будет использовать общий том с Splunk. экспедитор (или любой другой форвардер, который может заменить его в будущем).
В поисках решения я нашел несколько проектов (список ниже), которые, похоже, еще не готовы к работе.
Отвязка сборщика логов показалась мне тривиальным шаблоном проектирования, но из-за отсутствия стабильного официального решения я начинаю задаваться вопросом, может быть, в этом есть причина.
С другой стороны, возможно, более современные (и менее легкие) решения, такие как закончились и оставили позади устаревшие решения Syslog.
Любые идеи?
Проекты Rsyslog-docker:
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:
https://github.com/mumblepins-docker/syslog-ng-alpine
https://hub.docker.com/r/balabit/syslog-ng/ ‹--- Похоже на самое стабильное решение.