我正在使用Filebeat将日志转发到Logstash。我的文件名中包含“v2”,例如:
C:\日志\发动机\ v2.latest.log
我想对这些文件执行不同的操作。我尝试了以下两种方法:
filter{
if "v2" in [filename] {
grok {
.....
.....
}
}
}
要么
filter{
if [filename] =~ /v2/ {
grok {
.....
.....
}
}
}
好吧,我的问题是在过滤器之后生成了“文件名”字段。所以我的语法是正确的,但它根本没有捕捉任何东西,因为它不存在。但是,从版本6.7开始,他们添加了一个“log.file.path”字段,这是我之前生成的“文件名”字段。