在logstash中是否有任何方法可以使用条件来检查特定标记是否存在?
例如,
grok {
match => [
"message", "Some expression to match|%{GREEDYDATA:NOMATCHES}"
]
如果存在NOMATCHES做某事。
如何验证是否存在NOMATCHES标记?
感谢。
答案 0 :(得分:48)
我们很清楚:您提供的配置代码段是设置字段,而不是标记。
Logstash事件可以被认为是字段字典。许多插件通过tags
和add_tag
操作引用了名为remove_tag
的字段。
您可以检查是否设置了标记:
if "foo" in [tags] {
...
}
但您似乎想检查字段是否包含任何内容:
if [NOMATCHES] =~ /.+/ {
...
}
以上内容将检查NOMATCHES
是否存在且不为空。
答案 1 :(得分:6)
以下存在的测试也可以[在Logstash 1.4.2中测试],尽管它可能不会验证非空:
if [NOMATCHES] {
...
}