如何在Kibana UI上更改/重命名Kibana索引字段的值?

时间:2019-08-05 12:01:28

标签: logstash kibana filebeat

我已经在一台服务器上设置了ELK堆栈,并在另外两台服务器上设置了文件拍子,以将数据直接发送到logstash。

设置工作正常,并且根据需要获得了日志结果,但是当我在Kibana UI(左侧)上看到字段部分时,我看到“ host.hostname ”字段,其中包含两个服务器fqdns(即“ ip-113-331-116-35.us-east-1.compute.internal ”,  “ ip-122-231-123-35.us-east-1.compute.internal ” )

我想设置别名或将这些值分别重命名为 Production-1 Production-2 以显示在kibana UI上

如何在不破坏任何内容的情况下更改这些值

如果您需要任何代码段,请告诉我

2 个答案:

答案 0 :(得分:1)

您可以在logstash管道的过滤器块中使用translate过滤器来重命名值。

filter {
    translate {
        field => "[host][hostname]"
        destination => "[host][hostname]"
        dictionary => {
            "ip-113-331-116-35.us-east-1.compute.internal" => "Production-1"
            "ip-122-231-123-35.us-east-1.compute.internal" => "Production-2"
        }
    }
}

答案 1 :(得分:0)

由于字段 host.hostname 是ECS字段,因此我不建议重命名该特定字段。

我认为您有两种选择:

1。)在Logstash中创建管道

您可以在Logstash中设置一个简单的管道,在其中使用mutate过滤器插件并执行 add_field操作。这将在您的事件上创建一个具有host.hostname值的新字段。这是一个简单的示例:

filter{
  if [host][hostname]{
    mutate{
      add_field => { "your_cool_field_name" => "%{[host][hostname]}" }
    }
  }
}

2。)设置自定义映射/索引模板

您可以在自定义映射中定义字段别名。我建议阅读this article about field aliases