I'm currently trying to run Lostash with the following config file:
input {
stdin { }
}
output {
rabbitmq {
exchange => "test_exchange"
exchange_type => "fanout"
host => "172.17.x.x"
}
}
I do however get an error:
logstash agent --configtest -f -config.conf
gives me:
Error: Expected one of #, } at line 1, column 105 (byte 105) after output { rabbitmq { exchange => test_exchange exchange_type => fanout host => 172.17
It seems that logstash has the problem when I put an IP-like address in the host field. What is wrong with my config?
The whole problem was in the method you used when created the config.conf file.
You were using the following command:
echo "input {stdin{}} output{rabbitmq{exchange=>"test_exchange" exchange_type =>"fanout" host=>"172.17.x.x"}}"
Surrounding a string containing double quotes with double quotes isn't a good idea...
By using single quotes around the string, the problem is solved...
The real problem is that logstash doesn't report access problems to the configuration file correctly. Here is the issue on github:
https://github.com/elastic/logstash/issues/2571
Simply check access permissions and you'll be set.
来源:https://stackoverflow.com/questions/29891630/logstash-expected-one-of