0

我們已經從AWS Elasticsearch 2.3遷移到5.1,並發現我們舊的策展人3命令不再用於刪除超過30天的索引。我們這工作舊的命令如下所示:帶有Curator的AWS Elasticsearch 5.1 4.2.6 - 刪除索引不起作用?

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 

移動館長4.2.6被要求支持ES 5.1然而,使用提供from the elasticsearch page的例子時,我們發現我們收到的錯誤:

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 
+0

我們是否也可以看到curator.yaml? –

+0

已更新curator.yml文件 –

回答

1

TL; DR: AWS ES仍然不支持必要的API調用(當然,他們這樣做,但它不會返回必要的數據),Curator可以使用它。

雖然看起來AWS ES已經添加了必要的/_cluster/state端點(這就是爲什麼策展人4不支持AWS ES 2.3),但他們似乎已經省略了該端點的一些必要數據(這是您的一部分得到<class 'KeyError'>: 'settings'settings子對象的JSON響應丟失,所以策展人無法完成其任務

有已經在策展人這個開放式問題:。https://github.com/elastic/curator/issues/880,雖然我不覺得有什麼,策展人可以做以解決此問題

+0

乾杯untergeek。作爲臨時措施,我們將針對比X天更早的所有索引運行HTTP DELETE。 –