Невозможно установить конвейер с filebeat на logstash

У меня filebeat работает в контейнере докеров, а logstash - в другом контейнере докеров.

В конфигурации filebeat.yml IP-адрес logstash устанавливается так же, как IP-адрес logstash http: //: 5044.

Столкнувшись с ошибкой ниже

WARN Ошибка поиска DNS "http://172.17.0.2:5044": lookup http://localhost:5044/: недопустимое доменное имя 2017/04/14 14: 16: 51.537977 single.go: 126: ИНФОРМАЦИЯ при публикации ошибки подключения события (повторная попытка): поиск http://localhost:5044/: недопустимое доменное имя 2017/04/14 14: 16: 51.538000 single.go: 152: Ошибка отправки INFO

Конфигурация filebeat.yml в отношении конфигурации хранилища журнала

output: 
 logstash: 
  enabled: true
 hosts: 
  - "172.17.0.2:5044"

Должен ли использоваться докер IP-адрес журнала или отдельный IP-адрес?


person Sudhi    schedule 14.04.2017    source источник
comment
Это проблема конфигурации. Укажите конфигурацию, которую вы используете.   -  person A J    schedule 14.04.2017
comment
В filebeat.yml logstash как вывод настроен только с раскомментированным полем ниже, ### Logstash как вывод logstash: # Хосты Logstash: [172.17.0.2:5044/] Кроме того, поисковик настроен на путь, как показано ниже: - /var/log/*.log Кроме этих двух полей в filebeat нет ни одного из полей. yml раскомментированы и используются.   -  person Sudhi    schedule 15.04.2017


Ответы (1)


Соединение между Beats и Logstash не основано на протоколе HTTP, поэтому не настраивайте параметр hosts с URL-адресом. Каждый хост Logstash должен иметь формат host:port. Как видно из сообщения об ошибке, он пытается разрешить полное значение, которое вы указали как неправильное доменное имя (т. Е. Выполняет эквивалент nslookup "http://localhost:5044/").

Отступ в конфигурации, показанный в вопросе, также отключен. Параметр hosts должен быть дочерним по отношению к logstash, поэтому он должен иметь отступ. Попробуйте использовать это вместо этого, чтобы избежать проблем с отступами:

output.logstash.hosts: ['logstash:5044']

Если оба контейнера Logstash и Filebeat находятся в одной среде Docker, вы можете связать два контейнера и использовать имя контейнера Logstash в качестве имени хоста в вашем файле конфигурации. Если они находятся на разных хостах, вам необходимо открыть порт 5044 от LS и использовать IP-адрес хост-машины в вашей конфигурации Filebeat.

person A J    schedule 17.04.2017
comment
Отступ - это проблема редактирования с копированием и вставкой. Испытаю ваши советы и обновлю. - person Sudhi; 17.04.2017