у меня есть три узла установкиотправки JSON от одного к другому logstash
10.xx1 - приложение и filebeat 10.xx2 - машина для синтаксического анализа и logstash 10.xx3 - имея централизованный узел logstash откуда нам нужно вставлять сообщения в Elastic Search
в 10.xx2, когда я устанавливаю выходной кодек в стандартный вывод, я могу видеть сообщения, поступающие с 10.xx1.
Теперь мне нужно переслать все сообщения json от 10.x.x.2 до 10.x.x.3. Я попытался использовать TCP. Но сообщения не отправляются.
10.xx2 logstash конф файл
input {
beats {
port => 5045
}
}
output{
#stdout { codec => rubydebug }
tcp{
host => "10.x.x.3"
port => 3389
}
10.xx3 logstash конф файл
input{
tcp{
host => "10.x.x.3"
port => 3389
#mode => "server"
#codec => "json"
}
}
output{
stdout{ codec => rubydebug }
}
есть ли плагин, который может передавать данные в формате JSON от одного logstash на другой сервер logstash
TCP сложно использовать как выход для json из-за возможных символов новой строки на вашем json-выходе. Хороший способ сделать то, что вам нужно, - использовать выход Gelf (поскольку он генерирует действительный json). –