在logstash中,有什么方法可以使用条件检查特定标记是否存在?
例如,
grok {
match => [
"message", "Some expression to match|%{GREEDYDATA:NOMATCHES}"
]
如果存在NOMATCHES,请执行某些操作。
如何验证NOMATCHES标签是否存在?
谢谢。
最佳答案
就是这样,我们很清楚:您提供的配置代码段是在设置字段,而不是标签。
Logstash事件可以视为字段字典。许多插件通过tags
和add_tag
操作引用了一个名为remove_tag
的字段。
您可以检查是否设置了标签:
if "foo" in [tags] {
...
}
但是您似乎想检查某个字段是否包含任何内容:
if [NOMATCHES] =~ /.+/ {
...
}
上面的代码将检查
NOMATCHES
存在并且不为空。Reference: configuration file overview.