elasticsearch Logstash:使用Filebeat时如何从路径获取字段?
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.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,很高兴它有帮助!