我们在Logstash 7.5中设置了elasticsearch输出插件以写入索引名称,并且看到该索引在ElasticSearch 7.5中正确创建(如果不存在)。现在,我们要测试如何配置logstash来创建包含包括过渡在内的策略的索引,以便将第一个索引创建为“ ilmindex -000001”,并以“ ilmindex”作为别名,并应用“ ilmpolicy”。我们已经在logstash.conf中测试了几个选项,但是没有运气,索引始终创建为“ ilmindex”,没有别名。
logstash.conf中的elasticsearch输出部分如下所示:
output {
elasticsearch {
hosts => "http://elasticsearch:9200"
manage_template => "false"
index => "ilmindex"
ilm_enabled => "true"
ilm_policy => "ilmpolicy"
}
}
“ ilmindex”索引模板是通过以下方式设置的:
"ilmindex" : {
"order" : 0,
"version" : 1,
"index_patterns" : [
"*"
],
"settings" : {
"index" : {
"lifecycle" : {
"name" : "ilmpolicy",
"rollover_alias" : "ilmindex"
},
"number_of_shards" : "1",
"refresh_interval" : "5s"
}
},
"mappings" : { },
"aliases" : { }
}
这就是我们定义“违规”索引生命周期策略的方式:
"ilmpolicy" : {
"version" : 1,
"modified_date" : "2019-12-12T09:08:27.285Z",
"policy" : {
"phases" : {
"hot" : {
"min_age" : "0ms",
"actions" : {
"rollover" : {
"max_size" : "1gb",
"max_age" : "1d"
},
"set_priority" : {
"priority" : 100
}
}
},
"delete" : {
"min_age" : "2d",
"actions" : {
"delete" : { }
}
}
}
}
}
我们的配置文件中肯定缺少某些东西,但是在测试了logstash.conf的许多配置选项之后,我们无法在启用ILM的情况下自动创建索引。任何帮助将不胜感激。
谢谢。