为什么 Logstash 不排除它自己的日志文件?
Why is Logstash not excluding it's own log file?
根据 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
Logstash 的 file input 的排除模式,如文档所述,与遇到的文件的裸文件名匹配,因此问题中的三个模式永远不会匹配任何内容。要排除 Logstash 日志文件和 gzip 文件,请使用 logstash.*
和 *.gz
作为排除模式。
根据 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
Logstash 的 file input 的排除模式,如文档所述,与遇到的文件的裸文件名匹配,因此问题中的三个模式永远不会匹配任何内容。要排除 Logstash 日志文件和 gzip 文件,请使用 logstash.*
和 *.gz
作为排除模式。