elasticsearch Logstash:使用Filebeat时如何从路径获取字段?,elasticsearch,logstash,elastic-stack,logstash-grok,filebeat,elasticsearch,Logstash,Elastic Stack,Logstash Grok,Filebeat" /> elasticsearch Logstash:使用Filebeat时如何从路径获取字段?,elasticsearch,logstash,elastic-stack,logstash-grok,filebeat,elasticsearch,Logstash,Elastic Stack,Logstash Grok,Filebeat" />

elasticsearch Logstash:使用Filebeat时如何从路径获取字段?

elasticsearch Logstash:使用Filebeat时如何从路径获取字段?,elasticsearch,logstash,elastic-stack,logstash-grok,filebeat,elasticsearch,Logstash,Elastic Stack,Logstash Grok,Filebeat,Filebeat配置的必要部分: filebeat.inputs: - type: log paths: - C:\Program Files\Filebeat\test_logs\*.txt 发送到logstash和elasticsearch后,出现以下字段: "log": { "offset": 117, "file": { "path

Filebeat配置的必要部分:

filebeat.inputs:
- type: log
  paths:
    - C:\Program Files\Filebeat\test_logs\*.txt
发送到logstash和elasticsearch后,出现以下字段:

"log": {
          "offset": 117,
           "file": {
                "path": "C:\\Program Files\\Filebeat\\test_logs\\20200804_0929_logui.txt"
  }
我想将文件夹名/文件名作为单独的字段,但不知道如何获取

已经尝试过类似的方法:

grok {
    match => { 'path' => '(C:\\Program Files\\Filebeat\\test_logs\\)%{GREEDYDATA:filename}\.txt' }
}
不幸的是,这不起作用

请帮我找出答案。

尝试以下更简单的方法:

  filter {
    dissect {
      mapping => {
        "[log][file][path]" => "C:\\Program Files\\Filebeat\\test_logs\\%{[log][file][name]}.txt"
      }
    }
  }

这是一个很好的路径选择方法,但我需要从某个地方获得这条路径。该路径不包含在日志中,它来自Filebeat,然后放入日志字段。如何引用此字段以从中获取所需内容(使用Dissect)?我已更新了答案,而不是检查
消息
字段,Dissect需要检查
log.file.path
fieldCool,很高兴它有帮助!