我想使用源文件中的文件名作为我的elasticsearch条目的索引,因为我们将使用FileBeats和LogStash将多个不同的日志文件记录到Elasticsearch。
目前我有:
input
{
beats {
port => 5044
}
}
filter {
json {
source => "message"
}
}
output {
elasticsearch {
hosts => "localhost:9200"
manage_template => false
index => "%{[source]}"
document_type => "%{[@metadata][type]}"
user => ***
password => ***
}
}
这为我提供了“C:\ logs \ test-20170518.json”。我希望 test-20170518 仅用作索引。可以使用源来完成吗?
答案 0 :(得分:3)
您可以使用grok过滤器插件。试试这个
input
{
beats {
port => 5044
}
}
filter {
json {
source => "message"
}
grok {
match => [
"source",
"C:\\logs\\%{DATA:myIndex}.json"
]
}
}
output {
elasticsearch {
hosts => "localhost:9200"
manage_template => false
index => "%{[myIndex]}"
document_type => "%{[@metadata][type]}"
user => ***
password => ***
}
}