Регистрация Kubernetes с внешним стеком ELK - PullRequest
0 голосов
/ 03 июля 2018

Существует ли какая-либо документация по отправке журналов из контейнеров в K8 на внешний кластер ELK, работающий на экземплярах EC2?

Мы пытаемся настроить Kubernetes, и я пытаюсь выяснить, как заставить регистрацию работать правильно. У нас уже есть настройка стека ELK в EC2 для текущих версий приложения, но большая часть документации, по-видимому, относится к ELK, поскольку он развернут в кластере K8s.

1 Ответ

0 голосов
/ 03 июля 2018

Я тоже работаю над той же причиной.

Сначала вы должны знать, какой драйвер используется вашими док-контейнерами для управления журналами (драйвер json / journald и т. Д. - прочитайте здесь ).

После этого вы должны использовать какой-нибудь сборщик журналов в вашей архитектуре для отправки журналов в конечную точку Logstash. Вы можете использовать filebeat / fluent bit. Они - легкие альтернативы logstash / fluentd соответственно. Вы должны использовать один из них и напрямую не отправлять свои журналы в logstash через syslog, так как эти поставщики журналов имеют специальную функцию обогащения ваших журналов метаданными kubernetes соответствующих контейнеров.

После этого может возникнуть много проблем. Разбор данных журнала (например, многострочных журналов) и т. Д. Для эффективного конвейера большую часть работы (т.е. извлечение объекта даты из журналов и т. Д.) Лучше выполнять на стороне отправителя журнала, чем использовать общий logstash для этой цели, который может быть узким местом.

Обратите внимание, что в случае, если журналы контейнера не отправляются в stdout / stderr, а пишутся в другом месте, вам может потребоваться запустить filebeat / fluent-bit как side-car с вашими контейнерами.

Что касается ссылок на документацию, я сам не нашел ничего задокументированного в этом месте, но по ключевым словам, которые я упомянул, читая о них, я узнал много вещей.

Надеюсь, это поможет.

...