Regex 如果某个字段与某个值不匹配,是否可以使用Logstash删除该字段?
如果字段不包含“\u log”,我们希望通过删除字段来使用Logstash过滤日志。Regex 如果某个字段与某个值不匹配,是否可以使用Logstash删除该字段?,regex,logstash,logstash-grok,Regex,Logstash,Logstash Grok,如果字段不包含“\u log”,我们希望通过删除字段来使用Logstash过滤日志。remove_字段语法可用,但仅在字段符合特定条件时才可用于删除字段 filter { grok { remove_field => [ "log_" ] } } # This works for removing the log_ field, we want to remove everything that does NOT match log_. 如果字段与特定条件不匹配,是否也可
remove_字段
语法可用,但仅在字段符合特定条件时才可用于删除字段
filter {
grok {
remove_field => [ "log_" ]
}
}
# This works for removing the log_ field, we want to remove everything that does NOT match log_.
如果字段与特定条件不匹配,是否也可以删除该字段
我们尝试使用一个正则表达式来实现这一点,但没有成功(是否有文档记录了您不能使用正则表达式的地方?)。删除所有其他字段也是一种选择,但需要付出更多的努力。我们希望有人能帮助我们筛选所有不包含“log_u2;”的字段。您可以这样做的方法之一是
- 标记与条件不匹配的字段(使用
)Tag\u on\u failure
- 删除上面标记的字段
grok {
match => ["log_"]
tag_on_failure => ["_todelete"]
}
然后
grok {
remove_tag => [ "_todelete" ]
}
你可以这样做的方法之一是
- 标记与条件不匹配的字段(使用
)Tag\u on\u failure
- 删除上面标记的字段
grok {
match => ["log_"]
tag_on_failure => ["_todelete"]
}
然后
grok {
remove_tag => [ "_todelete" ]
}
regexp应该可以工作:
filter {
if [field] !~ /pattern/ {
mutate {
remove_field => [ "field" ]
}
}
}
regexp应该可以工作:
filter {
if [field] !~ /pattern/ {
mutate {
remove_field => [ "field" ]
}
}
}
我们可以为所有字段提供正则表达式吗?我有10-30个字段带有word createdBy-如何删除所有包含此字段的字段field@JinnaBalu除非他们添加了新的内容,否则您需要使用ruby。这里有很多关于stackoverflow的例子。我们可以为所有字段提供正则表达式吗?我有10-30个字段带有word createdBy-如何删除所有包含此字段的字段field@JinnaBalu除非他们添加了新的内容,否则您需要使用ruby。这里有很多关于stackoverflow的例子。