Logstash条件检查字段中的nil/null值



我有一个json数据,其中一些字段值为null(例如:"location":null(。我需要检查此字段是否为空,并采取一些操作。

我尝试过使用if [location] == 'null' { do something },但它失败了,我也尝试过if [location] == 'nill' { do something }

找到了一些提到的相关链接来检查字段是否存在if [location],但这在我的情况下无法使用。

请帮我解决这个问题,提前谢谢。

您需要使用ruby过滤器来检查字段是否具有null值。

以下筛选器检查字段是否为null,如果为true,则向事件添加一个标记。

ruby {
code => "if event.get('location').nil?; event.set('tags','null-value');end"
}

然后,您可以在logstash中正常使用标签来执行您想要的操作,例如

if "null-value" in [tags] { do something }

最新更新