Logstash erwartet von #
Ich versuche momentan laufen Lostash mit der folgenden config-Datei:
input {
stdin { }
}
output {
rabbitmq {
exchange => "test_exchange"
exchange_type => "fanout"
host => "172.17.x.x"
}
}
Ich habe jedoch einen Fehler:
logstash agent --configtest -f -config.conf
gibt mir:
Fehler: Erwartet man von #, } in Zeile 1, Spalte 105 (byte-105) nach der Ausgabe { rabbitmq { exchange => test_exchange exchange_type => fanout-host => 172.17
Scheint es, dass logstash ist das problem, wenn ich eine IP wie Adresse in das Feld host aus. Was ist falsch mit meiner config?
- Sie haben wahrscheinlich einige sinnlose Zeichen am Ende der Datei (oder wo auch immer-offset 105 endet). Wenn ich kopieren Sie die config-Datei-Ausschnitt in eine neue Datei Logstash ist glücklich mit ihm. Füttern Sie Ihre Datei
hexdump -C
sollte der Fehler leicht zu erkennen. - Nop, ich habe immer noch das gleiche problem, auch nachdem Sie neu erstellt die Datei neu, oder verwendet der-e-option.
- Okay, scheint, dass es hat etwas zu tun mit der Art und Weise habe ich die config.conf; ich wurde mit einem echo "Inhalt" > config.conf, aber das problem ist, dass ich surround ein text mit doppelten Anführungszeichen, mit doppelten Anführungszeichen... Umgibt den Inhalt von einfachen Anführungszeichen beim erstellen der config.conf-Datei hast, mein problem zu lösen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das ganze problem lag in der Methode, die Sie verwendet, die beim erstellen der config.conf-Datei.
Waren Sie mit dem folgenden Befehl:
Umgibt einen string mit Anführungszeichen mit doppelten Anführungszeichen ist keine gute Idee...
Durch die Verwendung von einfachen Anführungszeichen um den string, das problem ist gelöst...
Das eigentliche problem ist, dass logstash nicht meldet Probleme mit dem Zugriff auf die Konfigurations-Datei korrekt. Hier ist die Frage auf github:
https://github.com/elastic/logstash/issues/2571
Einfach überprüfen Sie die Zugriffsberechtigungen, und Sie werden eingestellt werden.