【问题标题】:Elasticsearch curator delete action - delete "n" older indices after rollover?Elasticsearch curator 删除操作 - 翻转后删除“n”个旧索引?
【发布时间】:2018-11-18 01:35:30
【问题描述】:

curator-actions.yml 中的以下 elasticsearch curator (下) 设置被配置为根据年龄过滤器删除索引,但我想设置一个适用于翻转的配置,如下所示:

仅保留最后一个索引和新创建的翻转索引 -> 从而在翻转成功后删除所有其他索引。实现这一目标的最佳方法是什么?可以在代码中使用 NEST 吗?

这是我当前的删除操作...非常感谢任何帮助,谢谢!

curator-actions.yml

action: delete_indices
description: >-
  Delete indices older than 3 days (based on index creation date)
options:
  ignore_empty_list: True
  continue_if_exception: True
filters:
- filtertype: pattern
  kind: prefix
  value: applogging-test
- filtertype: age
  source: creation_date
  direction: older
  unit: days
  unit_count: 3

【问题讨论】:

  • 你能详细说明翻转部分吗?不要以为我明白了。你不能安排策展人在翻转后运行吗?
  • @ben5556 我已经在代码中使用 NEST for .NET 使用别名 => 完成了翻转 => 例如:PUT /logs-000001 { "aliases": { "logs_write": {} } } # Add > 1000 documents to logs-000001 POST /logs_write/_rollover { "conditions": { "max_age": "7d", "max_docs": 1000, "max_size": "5gb" } } 现在,使用 curator 我打算配置一个删除操作,删除所有索引,除了最近的 2 个(例如,翻转创建的最新索引和刚刚翻转的最新索引)。我尝试了计数过滤器类型,但还没有得到它!

标签: elasticsearch nest elasticsearch-curator


【解决方案1】:

实际上比您想象的要容易。您可以使用count 过滤器轻松保留两个最新索引。以下示例包含rollover 操作和紧随其后的delete_indices 操作(我使用了您在上面的评论中提供的conditions - 适当调整您的翻转条件):

actions:
  1:
    action: rollover
    description: Rollover index associated with alias name
    options:
      name: aliasname
      conditions:
        max_age: 7d
        max_docs: 1000
        max_size: 5gb
  2:
    action: delete_indices
    description: Keep only the two most recent indices
    options:
      ignore_empty_list: true
    filters:
    - filtertype: pattern
      kind: prefix
      value: applogging-test
    - filtertype: count
      count: 2

现在,这假定所有匹配前缀 applogging-test 的索引都将是翻转样式,并且将按数字递增。不过,您可以根据需要添加其他选项或过滤器。

【讨论】:

  • 您可以经常运行此操作文件,而不会有比您的conditions 提供的索引更频繁地滚动的危险。同样,除非有超过 2 个与 applogging-test 前缀匹配的索引,否则不会发生删除。您可以毫无顾虑地安排它每 5 分钟运行一次。
  • 我完全明白了...您的解决方案(正如您在此处详细说明的条件参数更改一样)非常有效,再次感谢!我还可以确认,安排频繁的翻转和删除没有任何后果,除非满足其中任何一个条件都很好:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-05
  • 1970-01-01
  • 2019-06-05
  • 2017-07-03
  • 1970-01-01
相关资源
最近更新 更多