无法通过应用ILM策略的Logstash在Elasticsearch中创建新索引

时间:2019-12-12 12:07:01

标签: elasticsearch logstash

我们在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的情况下自动创建索引。任何帮助将不胜感激。

谢谢。

0 个答案:

没有答案