如何在logstash.yml中使用Filebeat中指定的索引?

如何在logstash.yml中使用Filebeat中指定的索引?,logstash,elastic-stack,filebeat,Logstash,Elastic Stack,Filebeat,我正在使用Filebeat通过以下配置将日志文件发送到我的Logstash: filebeat.inputs: - type: log enabled: true paths: - ${PWD}/filebeat-volume/data/*.txt output.logstash: enabled: true hosts: ["elk:5044"] index: "custom-index" setup.kibana: host: "localhost:560

我正在使用
Filebeat
通过以下配置将日志文件发送到我的
Logstash

filebeat.inputs:
- type: log
  enabled: true
  paths:
    - ${PWD}/filebeat-volume/data/*.txt

output.logstash:
  enabled: true
  hosts: ["elk:5044"]
  index: "custom-index"

setup.kibana:
  host: "localhost:5601"

输入{
击败{
端口=>“5044”
}
}
输出{
弹性搜索{
hosts=>[“localhost:9200”]
索引=>“”
}
}

filebeat.yml
中,我指定了一个索引(“自定义索引”)。如何在我的
logstash.yml
中设置相同的索引以发送到
Elasticsearch

我现在知道你想要什么了,你应该在下面的输出配置中设置logstash,这样它会将filebeat中设置的索引传递给Elasticsearch

output {
  elasticsearch {
    hosts => [ "localhost:9200" ]
    index => "%{[@metadata][beat]}"
  }
}

我会添加相同的索引名“cusotm index”,请注意filebeat配置中的输入错误。实际上,我会从filebeat中删除索引,并将其仅设置在logstash上。(这就是我设置它的方式,我没有在文件节拍上设置任何索引,只在日志中设置)感谢您的回复!问题是,我有一个elk容器,它的日志存储在端口5044上,监听来自许多其他Filebeat容器的新日志(都在同一个docker网络上,但随机创建)。现在,由于新日志来自许多地方,它们需要为日志使用不同的索引,因此应该由Filebeat确定索引名。(顺便说一句,谢谢你指出错误!)
output {
  elasticsearch {
    hosts => [ "localhost:9200" ]
    index => "%{[@metadata][beat]}"
  }
}