根据logstash文档,这应该有效;但是logstash通过将自己的stdout日志记录到自身来不断导致递归...
我的排除配置有什么不正确的地方?
input {
file {
path => "/var/log/**/*"
exclude => ["**/*.gz", "logstash/*"]
}
}
output {
tcp {
host => "1.2.3.4"
port => 1234
mode => client
codec => json_lines
}
stdout { codec => rubydebug }
}
我看到路径设置为/var/log/logstash/logstash.stdout 的结果,而它应该忽略它们。
(我已经通过完全删除/var/log/logstash dir 中的日志并重新启动来测试这一点)
我已经在数组中尝试了这些排除:
logstash/*
**/logstash/*
/var/log/logstash/* #This is incorrect according to docs
如文档所示,Logstash 文件输入的排除模式与遇到文件的裸文件名匹配,因此问题中的三种模式永远不会匹配任何内容。要排除 Logstash 日志文件和 gzip 文件,请使用 logstash.*
和 *.gz
作为排除模式。