elasticsearch 如何从logstash中filebeat提供的源值获取文件名?
我想从filebeat提供的源值获取文件名elasticsearch 如何从logstash中filebeat提供的源值获取文件名?,elasticsearch,logstash,elastic-stack,filebeat,elasticsearch,Logstash,Elastic Stack,Filebeat,我想从filebeat提供的源值获取文件名 output { if [type] == "wxnumber" { elasticsearch { hosts => "localhost:9200" sniffing => false manage_template => false index => "%{[source]}" document_type => "%{[@me
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"]
}
}
这可能会有帮助 从上面的配置中,您得到了什么结果?@Kulasangar,谢谢您的回复。%{[source]}的结果类似于/aaa/bbb/ccc.log。我只想得到这个变量的ccc.log。我已经更新了答案!检查它是否有效。非常感谢。但我不知道文件名。可能是ddd.log、eee.log、fff.log等等。如果您使用正则表达式来修剪路径并只获得前面提到的特定值,会怎么样