我正在使用Logstash将数据馈入Elasticsearch,然后使用Kibana分析该数据。我有一个包含数字标识符的字段。这些不容易阅读。如何让Kibana覆盖或显示更易理解的值?

更具体地说,我有一个“ip.proto”字段。当此字段包含6时,应显示为“TCP”。当此字段包含7时,应显示为“UDP”。

我不确定是否需要修改ELK堆栈中的哪个工具。

谢谢

最佳答案

您可以使用条件句和mutate filter:

filter {
  if [ip][proto] == "6" {
    mutate {
      replace => ["[ip][proto]", "TCP"]
    }
  } else if [ip][proto] == "7" {
    mutate {
      replace => ["[ip][proto]", "UDP"]
    }
  }
}

这很快变得笨拙,并且translate filter更优雅(并且可能更快)。未经测试的示例:
filter {
  translate {
    field => "[ip][proto]"
    dictionary => {
      "6" => "TCP"
      "7" => "UDP"
    }
  }
}

关于elasticsearch - 如何在Kibana中覆盖字段值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28968883/

10-12 01:10