I am feeding one logstash output into the input of another logstash instance. I am using the tcp output plugin (in logstash A) for data output, and tcp input plugin for data input (logstash B). I'm seeing some strange behavior here in that no matter how many "logs" I send through logstash A, none show up in logstash B until I quit logstash A. And what shows up in Logstash B is only the very first log I sent through logstash A. So I know that logstash A definitely knows where logstash B lives and can pipe data to it. But something seems to be hanging and/or buffering the output from logstash B.
Below are my configs:
output config:
input {
stdin {}
}
filter {}
output {
stdout { codec => rubydebug }
tcp {
mode => "client"
host => "localhost"
port => 5043
}
}
input config:
input {
tcp {
mode => "server"
port => 5043
}
}
filter {
json {
source => "message"
}
json {
source => "message"
}
}
output{
stdout { codec => rubydebug }
}
I have asked a similar question here -- Logstash tcp input/output -- but no solutions thus far. Just didn't want the topic to slowly die, because I'd like to figure out a solution asap. Maybe I should submit a defect ticket on logstash project on github?