ELK:设置logstash ELK堆栈的多个http输入

The*_*zon 4 elasticsearch logstash kibana logstash-configuration elastic-stack

题:

  • 如何设置logstash ELK堆栈的多个http输入

我已经拥有的东西:

input {
  http {
        host => "0.0.0.0"
        port => "5000"
    }
}

output {
  elasticsearch {
      hosts => "elasticsearch:9200"
  }
}
Run Code Online (Sandbox Code Playgroud)

我需要的:

  • 多个http输入,因为我有多个组件 - 类似(但第二个输入不监听请求):
input {
  http {
        host => "0.0.0.0"
        port => "5000"
  }
  http {
      host => "0.0.0.0"
      port => "7070"
  }
}
Run Code Online (Sandbox Code Playgroud)
  • 我必须在Kibona中区分这些组件

nic*_*oga 8

您可以为每个输入设置一个类型,并使用该类型生成索引名称:

input {
  http {
    host => "0.0.0.0"
    port => "5000"
    type => "A"
  }

  http {
    host => "0.0.0.0"
    port => "5001"
    type => "B"
  }
}
Run Code Online (Sandbox Code Playgroud)

使用该类型可能就足够了,因为您可以使用它来过滤记录.但是您可能还需要将每种类型的记录存储在不同的索引中,因为每种类型可能对同一字段使用不同的类型.这会导致映射冲突.

output {
  elasticsearch {
    hosts => "elasticsearch:9200"
    index => "%{[type]}-%{+YYYY.MM.dd}"
  }
}
Run Code Online (Sandbox Code Playgroud)