Можно ли пересылать журналы из контейнера докера на несколько серверов, используя gelf? - PullRequest
2 голосов
/ 03 мая 2019

В настоящее время у меня есть докер-контейнер, отправляющий журналы в Logstash с помощью gelf. Довольно стандартная конфигурация установлена ​​в файле docker-compose, используемом для создания контейнера.

Я изучаю возможность отправки журналов док-контейнера более чем в один экземпляр ELK. Это не нужно для производства, но значительно улучшит качество жизни наших разработчиков.

Чтение документов , кажется, что то, что мне нужно, невозможно (по крайней мере, они не упоминают, принимает ли свойство gelf-address список URI или нет, и я должен это предположить нет, пока я ищу больше информации).

Кто-нибудь знает, можно ли этого достичь? Спасибо!

1 Ответ

0 голосов
/ 06 мая 2019

Глядя на код докера здесь и здесь Я бы сказал, что в настоящее время поддерживается только один целевой адрес.

// New creates a gelf logger using the configuration passed in on the
// context. The supported context configuration variable is gelf-address.
func New(info logger.Info) (logger.Logger, error) {
    // parse gelf address
    address, err := parseAddress(info.Config["gelf-address"])

Потенциально этот проект andviro / grayproxy выглядит так, как будто он может помочь вам взять один вход GELF и перенаправить его на несколько сборщиков GELF:

По умолчанию grayproxy настраивает вход по адресу udp: //0.0.0.0: 12201 и не выводит. Выходы добавляются с использованием флага -out и могут указываться несколько раз

...