4

我正在使用 Logstash 处理一些流数据。现在我在使用条件标记数据时遇到了一个问题。

如果我在 logstash 配置中写下以下内容

if [myfield] == "abc"{ mutate { add_tag => ["mytag"] } }
else { mutate { add_tag => ["not_working"] } }

一切正常,但现在我想使用一个列表

if [myfield] is in ["abc"]{ mutate { add_tag => ["mytag"] } }
else { mutate { add_tag => ["not_working"] } }

并且只得到一个 not_working 标签。

有什么建议么?提前致谢!

4

2 回答 2

7

似乎array/list 中必须有多个值。您可以复制唯一的值,例如

if [myfield] in ["abc", "abc"] { mutate { add_tag => ["mytag"] } }
else { mutate { add_tag => ["not_working"] } }

它工作正常。

于 2015-07-13T12:18:18.917 回答
4

这确实是一个错误,这里是 Github 的链接:https ://github.com/elastic/logstash/issues/9932

于 2019-09-04T14:26:34.287 回答