невозможно отправлять сообщения на сервер Graylog с помощью logstash

Я использую logstash для отправки сообщений на сервер Graylog. Мне удалось отправить сообщения непосредственно в elasticsearch или stdout или loggly. Мне также удалось отправить сообщения на сервер Graylog с помощью cURL.

curl -XPOST http://graylog.example.org:12202/gelf -p0 -d '{"short_message":"Hello there", "host":"example.org", "facility":"test", "_foo":"bar"}'

Вот команда, которую я использую для отправки данных с помощью logstash в Graylog.

bin/logstash -e 'input { stdin {} } output { gelf {host => "graylog.example.org" port => 12202 } }' < LOG-10

Файл LOG-10 содержит сообщения журнала. Я тоже пробовал порт 12201. Я просмотрел отладочные сообщения из logstash, но это тоже бесполезно.


person user868643    schedule 31.03.2015    source источник
comment
Проверьте возможность подключения компьютера logstash к компьютеру Graylog на этом порту (telnet или nc). Проверьте журналы серого журнала.   -  person Alain Collins    schedule 31.03.2015
comment
Я запускаю curl и logstash на одной машине и использую один и тот же порт. Я не видел ничего в журналах Graylog, соответствующих logstash. Я исследую трафик портов, вы случайно не знаете какие-нибудь хорошие инструменты (netstat, tcpdump)? Спасибо!   -  person user868643    schedule 01.04.2015


Ответы (1)


Оказывается, logstash gelf.rb использует не TCP, а UDP. https://github.com/Graylog2/gelf-rb/pull/21

Мне пришлось добавить «GELF UDP» в качестве одного из входных сообщений серого журнала (отвечающего за прием сообщений журнала). Доступ к этому можно получить из системных входов веб-интерфейса Graylog. введите здесь описание изображения

person user868643    schedule 01.04.2015