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