2

我已将博客导入Elasticsearchvia Logstash。这已成功完成。

我在日志文件中有一个clientip始终填充的字段 ( ) 和另一个有时填充的字段 ( trueclientip)。我想根据两者的合并进行聚合;例如,如果trueclientip不为空,则使用,否则使用clientip.

我如何使用 Kibana 中的可视化来做到这一点?我需要生成脚本字段还是有其他方法?

谢谢。

4

1 回答 1

0

定义一个应具有此公式的脚本字段:doc['trueclientip'].value ? doc['trueclientip'].value : doc['clientip'].value并在您的聚合中使用它。

但是,这个脚本化字段功能和ip类型有一个缺点:您从脚本中得到的似乎是数字本身(这是逻辑,因为 Kibana 4 中的脚本化字段仅使用 Lucene 表达式作为一种语言),而不是字符串表示。内部 IP 实际上long是 Lucene 中的数字。

例如,127.0.0.1在内部表示为2130706433。这就是您将在 Visualize 中看到的内容。

确实不理想,在脚本领域拥有更高级的脚本语言会很好,但是github 问题已经存在

于 2015-07-13T13:49:37.350 回答