我正在使用弹性和logstash版本6.2.4。
Logstash输入配置为从Azure EventHubs
读取数据gorup
我的活动是JSON消息,如此
input
{
azureeventhub
{
key => ""
username => "ReadAccess"
namespace => "myeventhubs"
eventhub => "logstash"
partitions => 2
consumer_group => "logstash-cg"
}
}
我需要在elasticsearch中为每个{
"log": {
"event": "....."
},
"header": {
"remoteName": "foobar"
}
}
创建一个索引,所以我尝试将输出配置为弹性,如下所示:
remoteName
我希望找到一个名为的索引:
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "log-%{header.remoteName}-%{+YYYY.MM.dd}"
}
stdout { codec => rubydebug }
}
。
但是没有用。
在Elasticsearch中,我找到了一个名为的索引:
log-foobar-2018-04-22
是否有可能动态创建索引?我如何配置logstash输入?
答案 0 :(得分:0)
请尝试以下操作:
index => "log-%{[header][remoteName]}-%{+YYYY.MM.dd}"
字段参考
能够通过名称引用字段通常很有用。为此,您可以使用Logstash字段引用语法。
访问字段的语法是[fieldname]。如果您指的是顶级字段,则可以省略[]并简单地使用fieldname。要引用嵌套字段,请指定该字段的完整路径:[顶级字段] [嵌套字段]。
https://www.elastic.co/guide/en/logstash/5.2/event-dependent-configuration.html