Logstash有条件检查标签是否存在?

时间:2014-01-29 17:48:13

标签: logstash

在logstash中是否有任何方法可以使用条件来检查特定标记是否存在?

例如,

grok {
match => [
"message", "Some expression to match|%{GREEDYDATA:NOMATCHES}"
]

如果存在NOMATCHES做某事。

如何验证是否存在NOMATCHES标记?

感谢。

2 个答案:

答案 0 :(得分:48)

我们很清楚:您提供的配置代码段是设置字段,而不是标记。

Logstash事件可以被认为是字段字典。许多插件通过tagsadd_tag操作引用了名为remove_tag的字段。

您可以检查是否设置了标记:

if "foo" in [tags] {
    ...
}

但您似乎想检查字段是否包含任何内容:

if [NOMATCHES] =~ /.+/ {
    ...
}

以上内容将检查NOMATCHES是否存在且不为空。

Reference: configuration file overview.

答案 1 :(得分:6)

以下存在的测试也可以[在Logstash 1.4.2中测试],尽管它可能不会验证非空:

if [NOMATCHES] {
    ...
}
相关问题