一、报错截图
二、报错原因
./bin/logstash -f first-pipeline.conf --config.reload.automatic
在开启logstash服务的时候打开了自动加载配置的命令行参数,正常来说加了这个参数就可以动态的修改配置文件而不用重新启动服务,但是由于配置文件里面input添加了stdin,所以动态修改配置文件的时候会报错
input {
syslog {
port => "514"
}
stdin {
}
}
filter{
grok{
patterns_dir => ["./patterns"]
match => { "message" => "%{IPV4:ip} %{WORD:word} %{NUMBER:number} %{TEST_RE:test_re}"}
}
}
output {
stdout {
codec => rubydebug
}
}
三、解决方法
- 在配置文件里面删除stdin的
input
参数 - 命令行启动logstash的时候不添加
--config.reload.automatic
参数