为什么 Logstash 不排除它自己的日志文件?



根据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 作为排除模式。

最新更新