【问题标题】:ElasticSearch Curator delete unless last entryElasticSearch Curator 删除,除非最后一个条目
【发布时间】:2019-07-16 03:26:48
【问题描述】:

按时间删除时,有没有办法阻止curator删除最后一个索引?

actions:
1:
  action: delete_indices
  description: Delete kube- indices older than 14 days. Ignore the error if there are none and exit cleanly.
  options:
    disable_action: False
    ignore_empty_list: True      
  filters:
  - filtertype: pattern
    kind: prefix
    value: kube-
  - filtertype: age
    source: name
    direction: older
    timestring: '%Y.%m.%d'
    unit: days
    unit_count: 14

我有这个非常适合检查当前运行的 K8s 集群日志。但是,当我们移动 AWS 区域时,日志名称会发生​​变化,例如从kube-eu-west-1-<date>kube-eu-west-2-<date>

Curator 会在 14 天后认真清理所有数据。我想要的是防止它删除特定索引的最后一个条目,因此始终记录集群最后一次在该区域中发生的事情。

(它还会“修复”一些写得不太好的代码片段,当他们期望的数据合法地消失时抛出错误)。

【问题讨论】:

    标签: elasticsearch-curator


    【解决方案1】:

    你可以使用count filter:

    filters:
      # your existing filters go BEFORE the count filter...
      - filtertype: count
        count: 1
    

    此示例应从可操作索引列表中排除(尽管有exclude: false)最新索引,并保留它。如果这不是您要排除的索引,请使用exclude: true/false(默认为true)和/或reverse: true/false(默认为true)探索,直到它排除您想要的索引。

    注意:始终使用--dry-run 标志来测试您的过滤器,然后再将它们部署到实际数据上。迭代直到看起来正确。在您的客户端设置中使用 loglevel: DEBUG 将显示过滤器如何做出决定(如果有帮助的话)。

    【讨论】:

    • 这正是我想要的,我的 google-fu 让我失望了!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-23
    • 1970-01-01
    • 2022-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多