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