根据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目录中的日志并重新启动来测试了这一点)
我在数组中尝试过这些以排除:
logstash/*
**/logstash/*
/var/log/logstash/* #This is incorrect according to docs
答案 0 :(得分:1)
Logstash file input的排除模式,如文档所述,与遇到的文件的文件名完全匹配,因此问题中的三种模式将不会匹配任何内容。要排除Logstash日志文件和gzip压缩文件,请使用logstash.*
和*.gz
作为排除模式。