【问题标题】:Kibana: How to visualise based on two fieldsKibana:如何基于两个字段进行可视化
【发布时间】:2015-10-01 15:38:49
【问题描述】:

我已通过Logstash 将博客导入Elasticsearch。这已成功完成。

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

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

谢谢。

【问题讨论】:

  • 如果这些字段是数字,那么它可能会起作用,否则不太确定。原因是需要使用只允许数字字段的脚本字段。
  • @andreistefan 它们是 IP 地址,所以它们是字符串。例如127.0.0.1
  • 它们不是字符串 ;-)。 IP 在内部存储为数字。

标签: elasticsearch kibana-4 elastic-stack


【解决方案1】:

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

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

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

确实不理想,最好在脚本领域拥有更高级的脚本语言,但github issue already exists

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-15
    • 2017-01-30
    • 1970-01-01
    • 2020-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-07
    相关资源
    最近更新 更多