如何覆盖Kibana中的字段值?

时间:2015-03-10 16:20:46

标签: elasticsearch logstash kibana

我正在使用Logstash将数据提供给Elasticsearch,然后使用Kibana分析该数据。我有一个包含数字标识符的字段。这些都不容易阅读。如何让Kibana覆盖或显示更具人类可读性的值?

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

我不确定我需要修改ELK堆栈中的哪个工具才能实现此目的。

由于

1 个答案:

答案 0 :(得分:3)

您可以使用条件和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"
    }
  }
}