我想在 Logstash 配置文件中排除没有扩展名的文件
我需要用正则表达式来做到这一点,但无法实现。我遵循的路径是排除名称中不包含点的任何文件。
我已经阅读了很多并尝试过,但 Logstash 一直在吃我需要排除的文件,以免转发到 ElasticSearch。
我最后一次尝试和错误:
input {
file {
type => "exe-data"
path => "/elastic-data/**/*"
start_position => "beginning"
sincedb_path => "/dev/null"
codec => plain { charset => "ISO-8859-1" }
exclude => "*.gz"
exclude => "*.zip"
exclude => "^([^.]+)$"
虽然文件输入上的exclude
可能不支持正则表达式,但您可以在过滤阶段处理此问题。
filter {
if [path] =~ "^/elastic-data/[^.]+$" {
drop {}
}
otherfilter {
}
}
通过将drop {}
作为筛选管道中的第一阶段,引入无点文件的影响最小。