记docker部署logstash的一次报错

在Docker环境下部署Logstash时遇到容器频繁崩溃的问题,日志显示配置错误。经过检查,发现配置文件每行末尾有多余的空格,这是导致错误的原因。修复这些空格后,Logstash成功启动。此经验提醒我们在配置Logstash时,务必注意配置文件的格式整洁,避免因额外空格等细节问题引发错误。

一、报错与解决过程

docker run -d --name logstash -p 14560:4560 -v /root/logstash/config/logstash.yml:/usr/share/logstash/config/logstash.yml -v /root/logstash/pipeline/logstash.conf:/usr/share/logstash/pipeline/logstash.conf logstash:8.1.3

在docker上部署logstash的时候,刚把容器启动没一会儿就挂了,重启好几遍,还是会没一会就挂掉,查看日志发现以下信息:

“LogStash::ConfigurationError”, :message=>“Expected one of [ \t\r\n], “#”, “{”, “}” at line 3, column 21 (byte 37) after input {\n tcp {\n mode => “server””, :backtrace=>[“/usr/share/logstash/logstash-core/lib/logstash/compiler.rb:32:in compile_imperative'", "org/logstash/execution/AbstractPipelineExt.java:189:in initialize’”, “org/logstash/execution/JavaBasePipelineExt.java:72:in initialize'", "/usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:47:in initialize’”, “/usr/share/logstash/logstash-core/lib/logstash/pipeline_action/create.rb:50:in execute'", "/usr/share/logstash/logstash-core/lib/logstash/agent.rb:376:in block in converge_state’”]}

根据日志来看,报错的原因是配置文件出现了错误,仔细检查自己的配置文件,到底是没错啊,怎么就会报配置错误呢。

于是,按照日志信息的提示区配置文件的相应位置找问题,最终发现每个配置项的后面几乎都多了好几个空格,说多了都是泪啊😭😭😭。最终把多余的空格去掉后启动成功。
二、写在最后
重要的事情说三遍:logstash配置文件配置项末尾不要有空格!!! logstash配置文件配置项末尾不要有空格!!! logstash配置文件配置项末尾不要有空格!!!

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值