我们已经从AWS Elasticsearch 2.3移至5.1,并发现我们的旧策展人3命令不再适用于删除30天以上的索引。我们以前的命令看起来如下:
00 00 * * 1 /bin/curator --host elasticsearch.production.domain.aws --port 80 delete indices --older-than 30 --time-unit days --timestring %Y.%m.%d --exclude .kibana要支持ES 5.1,需要迁移到馆长4.2.6,但是,在使用提供的来自elasticsearch页面示例时,我们发现我们收到了错误:
2017-02-15 11:46:18,874 INFO Preparing Action ID: 1, "delete_indices"
2017-02-15 11:46:18,884 INFO Trying Action ID: 1, "delete_indices": Delete indices older than 45 days (based on index name), for logstash- prefixed indices. Ignore the error if the filter does not result in an actionable list of indices (ignore_empty_list) and exit cleanly.
2017-02-15 11:46:18,897 ERROR Failed to complete action: delete_indices. <class 'KeyError'>: 'settings'在迁移之后,还有其他人成功地完成了这个配置吗?
我已经分别定义了curator.yaml配置,我认为它是正确的:
client:
hosts:
- elasticsearch.production.domain.aws
port: 80
url_prefix:
use_ssl: False
certificate:
client_cert:
client_key:
ssl_no_validate: False
http_auth:
timeout: 30
master_only: False发布于 2017-02-16 00:40:05
TL;DR: AWS仍然不支持必要的API调用(嗯,它们支持,但它不返回必要的数据),以便策展人使用它。
虽然AWS似乎添加了必要的/_cluster/state端点(这就是为什么Curator 4不支持AWSes2.3),但它们似乎忽略了来自该端点的一些必要数据(这就是获得<class 'KeyError'>: 'settings'的部分)。JSON响应中的settings子对象丢失,因此馆长无法完成其任务。
在馆长中已经有一个悬而未决的问题:https://github.com/elastic/curator/issues/880,尽管我不认为馆长可以做什么来克服这个问题。
https://stackoverflow.com/questions/42238976
复制相似问题