我正在尝试使用curator python API定期删除elasticsearch中的旧日志。在我的代码输出中,似乎我无法过滤我想要的索引,这让我陷入了几天的困境。如果我做错了什么,谁能帮我看看?我使用了elasticsearch curator版本5.4.1,并在EC2、aws elasticsearch 5.5和aws elasticsearch 6.0上测试了elasticsearch 5.5,结果是一样的。
以下是我的代码:
from elasticsearch import Elasticsearch
import elasticsearch
import curator
def handler():
client = elasticsearch.Elasticsearch(['http://XX.153.17.133:9200'])
ilo = curator.IndexList(client)
print ilo.all_indices
print ilo.filter_by_regex(kind='prefix', value='mov')
print ilo.filter_by_age(source='creation_date', direction='older', unit='seconds', unit_count=2)
#delete_indices = curator.DeleteIndices(ilo)
#delete_indices.do_action()
return
handler()
输出如下:
/Users/junyu/PycharmProjects/es-curator/bin/python
/Users/junyu/PycharmProjects/es-curator/es-curator.py
[u'movie']
None
None
Process finished with exit code 0
提前感谢您!
您将只看到打印ilo的输出。如果已设置日志记录,请筛选*行。
如果要查看过滤器后仍保留哪些索引,请尝试打印ilo。索引,因为这是工作列表。
我有很多上面格式的日志,我想删除旧日志(比如超过5天的日志),方法是(在上面的日志(2019.02.13))范围内)。我已经通过查询进行了删除日志的查询。 我得到了以下错误: <代码>[解析\u异常]没有为[@时间戳]注册的[查询],且{行=1 注意:我使用NestJS调用elasticsearch api,并使用elasticsearch[6.4]。我不想使用elasticsearch策展人。
问题内容: 我的许多日志都以logstash-Year- Week格式编制索引。那就是如果我想删除超过几周的索引,如何在elasticsearch中实现。有没有简单,无缝的方法可以做到这一点? 问题答案: 策展人将是这里的理想之选。您可以在这里找到链接-https: //github.com/elastic/curator 如下所示的命令应该可以正常工作- 您可以将其保留在CRON中,以偶尔删除索
我们正在使用AWS弹性搜索日志。日志通过Logstash连续流式传输。定期删除旧索引的最佳方法是什么? 我搜索了一下,推荐的各种方法有: > 使用lambda删除旧索引-https://medium.com/@egonbraun/perioadly-cleaning-ellasticsearch-indexes-using-aws-lambda-f8df0ebf4d9f 使用计划的docker容器
问题内容: 我正在使用带有NEST的C#.NET应用程序来创建索引。 我创建了一个Elasticsearch索引,客户可以查询该索引,称为index_1。然后,我使用应用程序的不同实例构建索引的另一个版本,并将其称为index_1_temp。 我将index_1_temp重命名为index_1然后删除原始index_1的最安全方法是什么? 我知道ES具有别名,但是我不确定如何将其用于此任务 编辑:
我在java中有一个项目,我使用弹性搜索2.3.3对数据进行索引。索引有两种类型。 我的索引文档如下所示: 我只需要删除特定名称和类型的索引。 例如:-从上面的文档中,我想删除名为“test\u index”的索引,并键入“戏剧”。 因此,结果应该如下所示: 尝试的解决方案: 客户admin()。索引()。删除(new DeleteIndexRequest(“test\u index”)。acti
如何在不删除索引映射的情况下从elasticsearch数据库中删除数据? 我是Tire gem,使用删除命令删除我所有的映射并再次运行创建命令。我想避免创建命令一次又一次地运行。 请帮我解决这个问题。