https://stackoverflow.com/questions/29891630/logstash-expected-one-of
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?
logstash logstash-configuration share improve this question asked Apr 27 '15 at 9:18
Heschoon 1,330 1 15 40
- 1 You probably have some garbage character at the end of your file (or wherever offset 105 ends up). If I copy the config file snippet above into a new file Logstash is happy with it. Feeding your file to
should make the mistake easy to spot. – Magnus Bäck Apr 27 '15 at 9:48hexdump -C
- Nop, I still have the same problem, even after having recreated the file from scratch or used the -e option. – Heschoon Apr 27 '15 at 12:43
- Okay, seems that it had something to do with the way I created the config.conf; I was using an echo "content" > config.conf, but the problem is that I surround a text containing double quotes with double quotes... Surrounding the contents by single quotes when creating the config.conf file did solve my problem. – Heschoon Apr 27 '15 at 13:34
add a comment
2 Answers
active oldest votes up vote 2 down vote accepted
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...
share improve this answer answered Apr 27 '15 at 13:39
Heschoon 1,330 1 15 40 add a comment up vote 0 down vote
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.
share improve this answer answered Jan 12 '16 at 18:48