Error: Expected one of #, input, filter, output at line 24, column 1 (byte 528) after "}

Error: Expected one of #, input, filter, output at line 24, column 1 (byte 528) after "}

我能够 运行 logstash 为:

bin/logstash -f /etc/logstash/conf.d/config.json

但 运行将 logstash 作为服务

sudo service logstash start

给我以下错误:

... Error: Expected one of #, input, filter, output at line 24, column 1 (byte 528) after "}

不确定我做错了什么? Configtest 还说配置文件没问题。

bin/logstash -f /etc/logstash/conf.d/config.json --configtest
Configuration OK

感谢任何帮助。

谢谢。

当 logstash 运行时,它会将您的配置目录中的所有文件合并到一个文件中。当出现错误时,您会将行和位置信息获取到 that 合并配置中。

尝试:

cat /etc/logstash/conf.d/* > /tmp/total.conf

然后查看第 24 或 25 行。

这里有人在 conf.d 目录下留下了一个 ~.vimrc 文件,然后将其附加到大配置文件中。

--configtest 可能会忽略该文件,但读取配置不会。

仅供参考,我抱怨第 163 行,我的合并文件没有那么远。