Я тоже работаю над той же причиной.
Сначала вы должны знать, какой драйвер используется вашими док-контейнерами для управления журналами (драйвер json / journald и т. Д. - прочитайте здесь ).
После этого вы должны использовать какой-нибудь сборщик журналов в вашей архитектуре для отправки журналов в конечную точку Logstash. Вы можете использовать filebeat / fluent bit. Они - легкие альтернативы logstash / fluentd соответственно. Вы должны использовать один из них и напрямую не отправлять свои журналы в logstash через syslog, так как эти поставщики журналов имеют специальную функцию обогащения ваших журналов метаданными kubernetes соответствующих контейнеров.
После этого может возникнуть много проблем. Разбор данных журнала (например, многострочных журналов) и т. Д. Для эффективного конвейера большую часть работы (т.е. извлечение объекта даты из журналов и т. Д.) Лучше выполнять на стороне отправителя журнала, чем использовать общий logstash для этой цели, который может быть узким местом.
Обратите внимание, что в случае, если журналы контейнера не отправляются в stdout / stderr, а пишутся в другом месте, вам может потребоваться запустить filebeat / fluent-bit как side-car с вашими контейнерами.
Что касается ссылок на документацию, я сам не нашел ничего задокументированного в этом месте, но по ключевым словам, которые я упомянул, читая о них, я узнал много вещей.
Надеюсь, это поможет.