如何从 logstash 中的 filebeat 提供的源值中获取文件名?

How do I get the filename from the source value supplied by filebeat in logstash?

我想从 filebeat 提供的源值中获取文件名。

output {
  if [type] == "wxnumber" {
    elasticsearch {
        hosts => "localhost:9200"
        sniffing => false
        manage_template => false
        index => "%{[source]}"
        document_type => "%{[@metadata][type]}"
    }
  }
}

%{[source]} 通常类似于 /aaa/bbb/ccc.log。如何将索引设置为 ccc.log?

也许您可以使用 mutate 来将其替换为日志文件的命名方式:

if [%{[source]}] =~ /aaa/bbb/ccc.log {
  mutate {
     replace => ["%{[source]}]", "ccc.log"]
  }
}

这篇可能会有帮助!