我通过以下命令安装了弹性搜索策展人.
sudo pip install -U elasticsearch-curator
Run Code Online (Sandbox Code Playgroud)
这一切都安装好了.
但是现在当我做以下事情时
curator_cli --version
Run Code Online (Sandbox Code Playgroud)
我得到以下依赖警告.
/usr/local/lib/python2.7/dist-packages/requests/__init__.py:83: RequestsDependencyWarning: Old version of cryptography ([1, 2, 3]) may cause slowdown.
warnings.warn(warning, RequestsDependencyWarning)
curator_cli, version 5.5.4
Run Code Online (Sandbox Code Playgroud)
如何修复警告或隐藏警告?
我们正在运行一个elasticsearch集群,用于记录日志,使用logstash从多个位置索引日志.我们最近添加了两个额外的节点以增加容量,同时我们等待集群扩展的更多硬件.最终,我们的目标是在SSD上运行"实时"数据的2个节点,以便快速访问最近的数据,并将数据老化到较旧的指标的HDD上.我们放入的新节点的内存比现有机箱少得多(700GB对5TB),但考虑到这与我们实施SSD时的情况类似,我并不认为这是一个很大的问题. .
作为第一次尝试,我将节点扔进集群中,信任新的基于磁盘空间的分配规则意味着它们不会立即被填满.不幸的是,情况并非如此,我醒来发现群集已经快速地将分片重新分配到新节点上,超过99%.在设置了一些跳汰之后,我设法从这些节点中删除所有数据,并将群集返回到之前的状态(分配了所有分片,群集状态为绿色).
作为下一个方法,我尝试实现索引/节点标记,类似于我实施SSD时的计划.这给我们留下了以下配置:
(运行elasticsearch 1.3.1和oracle java 7 u55的所有节点)
使用策展人我然后将超过10天的标记标记为"存档",将更新的标记标记为"实时".这在后台设置索引分片分配"需要".我的理解是它需要节点有标签,但不仅仅是标签.
不幸的是,这似乎没有产生预期的效果.最令人担忧的是,没有标记为归档的索引正在分配其副本分片,留下295个未分配的分片.此外,实时标记的指示仅使用节点4,5和奇怪的3.除了最新的索引和一些kibana-int分片之外,节点3没有分片.
如果我删除标签并使用exclude._ip从新节点拉出分片,我可以(慢慢地)将群集恢复为绿色,因为这是我在新节点完全填满时采用的方法,但我真的喜欢将此设置排序,以便我可以放心,当新套件到货时,SSD配置将起作用.
我试图启用:cluster.routing.allocation.allow_rebalance to always,理论上由于未分配的副本,集群没有重新平衡.我也尝试过:cluster.routing.allocation.enable给所有人,但同样,这没有任何可辨别的影响.
我做过一些明显错误的事吗?或者是否存在我可以使用的某种不一致?我一直在使用Elasticsearch Head插件可视化分片的分配.
任何帮助将不胜感激,希望这只是一个愚蠢的错误,我可以很容易地解决!
提前致谢
我在 elasticsearch 中有一个索引,它被一些与时间戳相关的json文件占用。我想从该索引中删除数据。
curl -XDELETE http://localhost:9200/index_name
Run Code Online (Sandbox Code Playgroud)
上面的代码删除了整个索引。我的要求是在一段时间后(例如 1 周后)删除某些数据。我可以自动执行删除过程吗?
我尝试使用curator删除。
但我认为它删除了创建的索引timestamp,而不是索引中的数据。我们可以使用 curator 删除索引中的数据吗?
如果我知道以下任一项可行,我会很高兴:
参考资料来自elasticsearch的官方网站。
非常感谢。
在我们公司的标准Elasticsearch和策展人实施之上,我们有一个自定义包装器。我想知道当默认的“时间单位”设置为“天”时,策展人处理“每月/每周”索引的行为是什么。
**我无法覆盖默认的“时间单位”
这是我们每月/每周索引命名方式的示例格式
月度索引格式
logstash-test-monthly-2018.01
logstash-test-monthly-2018.02
logstash-test-monthly-2018.03
logstash-test-monthly-2018.04
...
...
logstash-test-monthly-2018.12
Run Code Online (Sandbox Code Playgroud)
每周索引格式
logstash-test-weekly-2018.01
logstash-test-weekly-2018.02
...
...
...
logstash-test-weekly-2018.51
logstash-test-weekly-2018.52
Run Code Online (Sandbox Code Playgroud)
Delete_Index.yml-馆长删除说明
actions:
1:
action: delete_indices
options:
ignore_empty_list: true
filters:
- exclude: true
filtertype: kibana
- exclude: false
kind: regex
filtertype: pattern
value: .*-monthly-.*
- range_to: 0
filtertype: period
source: name
range_from: -60
period_type: relative
timestring: '%Y.%m.%d'
exclude: true
unit: days
description: Delete indices more than X days old
2:
action: delete_indices
options:
ignore_empty_list: true
filters:
- exclude: true
filtertype: kibana
- …Run Code Online (Sandbox Code Playgroud) 嘿我正在使用marvel旁边elasticsearch,我试图避免使用curator清理看起来像".marvel-2015-*"的索引是否有一个特定的配置或一组配置,我可以用来完成这个.
注意:我正在使用chef来配置节点和logstash cookbook内部我在default.rb中设置属性就像这样
default['logstash']['instance_default']['curator_days_to_keep'] = 14
Run Code Online (Sandbox Code Playgroud)
我认为这会将这些指数的最大数量设置为14.但是当我添加一些假的".marvel-2015-*"指数时,它们仍会出现并且不会被清除.
我意识到我正在谈论使用奇迹curator和marvel自身的工具,但我是这些工具的新手,我需要帮助连接这些点.
理想情况下,我想让奇迹有自己删除这些索引的逻辑,我不知道是否有一些选项可以在plugins/marvel/marvel-1.3.1.jar中完成
任何帮助,将不胜感激.
我想从我的Elasticsearch基础中删除数据,所以我只获得了过去一个月的数据.这可能是在XDELETE调用或类似的情况下吗?可以使用cronjob或类似设置.
我使用的是ES 2.3.3和Logstash 2.3.3.我一直在使用Logstash发送数据并将它们映射到ES以进行索引,即logstash- {Date}.我只想保留最近1年的文件.应删除一年内的任何索引.我之前使用的是3.5.1.我删除索引的方法是每天输入一个命令.
curator --host 10.0.0.2 delete indices --older-than 30 --time-unit days \
--timestring '%Y.%m.%d'
Run Code Online (Sandbox Code Playgroud)
最近,我将策展人3.5.1升级为策展人4.但是,即使我已经阅读了https://www.elastic.co/guide/en/elasticsearch/client中的示例,我也找不到存储策展人的位置./curator/current/command-line.html因此,我想知道配置文件在哪里以及为什么会丢失action_file?这是否意味着我需要创建一个新的.curator目录以及我自己的curator.yml和action.yml文件?
在我创建了action.yml文件之后,我应该只关注https://www.elastic.co/guide/en/elasticsearch/client/curator/current/examples.html#ex_delete_indices并将此部分添加到我的操作中.yml文件为了删除一年多的logstash索引?
谢谢