当前位置: 首页 > 知识库问答 >
问题:

是否可以使用Elastic Curator删除与字段值匹配的索引

戚阳
2023-03-14

我们的elasticsearch上有几个索引。它们来自FluentD,将发送日志插入docker容器。我们希望删除旧索引,不仅要根据索引名称删除超过特定天数的索引,还要根据日志字段应用不同的删除规则。

以下是日志示例:

{
  "_index": "fluentd-2018.03.28",
  "_type": "fluentd",
  "_id": "o98123bcbd_kqpowkd",
  "_version": 1,
  "_score": null,
  "_source": {
    "container_id": "bbd72ec5e46921ab8896a05684a7672ef113a79e842285d932f",
    "container_name": "/redis-10981239d5",
    "source": "stdout",
    "log": "34:M 28 Mar 15:07:51.086 * 10 changes in 300 seconds. Saving...\r34:M 28 Mar 15:07:51.188 * Background saving terminated with success\r",
    "@timestamp": "2018-03-28T15:07:56.217739954+00:00",
    "@log_name": "docker.redis"
  },
  "fields": {
    "@timestamp": [
      "2018-03-28T15:07:56.217Z"
    ]
  }
}

在这种情况下,我们希望删除所有匹配@log_name=docker.redis早于7天的日志。

是否可以定义删除由此类字段值过滤的索引的Curator操作?

我们尝试了不同的过滤,但没有成功。我们成功执行的唯一操作是基于索引名称:

actions:
  1:
    action: delete_indices
    description: >-
      Delete indices older than 30 days
    options:
      ignore_empty_list: True
      disable_action: True
    filters:
    - filtertype: pattern
      kind: prefix
      value: fluentd-
    - filtertype: age
      source: name
      direction: older
      timestring: '%Y.%m.%d'
      unit: days
      unit_count: 30

共有1个答案

宗安翔
2023-03-14

Curator仅提供索引级保留配置。如果需要基于文档级别的保留,可以尝试使用执行“按查询删除”的脚本。

否则,使用curator,您需要在不同的索引中分离数据,以应用不同的保留。

 类似资料:
  • 当输入字符串时,它将根据需要匹配整个字符串。但当馈入时,我希望它与匹配;相反,它匹配,即整个字符串。(这只是为了说明。当然,此示例可以由处理,但这并不重要。捕获组擦除的实际用法往往是在循环中,而这些循环通常执行的迭代次数远远超过2次。) 另一种方法也不是理想的: 请注意,当循环“展开”时,这两种方法都可以正常工作,因为它们不再需要擦除已经执行的捕获: 因此不能使用最简单的条件形式,而必须使用更复杂

  • 我正在处理多个敏感值的Java应用程序。我们正在使用Lombok,并且有很多数据类,如下所示。然而,在日志中看到这些类时却没有指示它们包含一些关键字段,这令人困惑,因为生成的toString将100%忽略被排除的字段。有没有可能让Lombok打印类似

  • 我们必须使用设计糟糕的XFA样式的PDF表单,但我们不是表单的作者(有许多表单需要这样做)。表单对大多数字段都有数据绑定(似乎是iText能够为XFA设置字段值所需的),但有些字段缺少字段绑定。 示例:TextField FirstName与Adobe LiveCycle Designer中的“Use name(FirstName)”有绑定,允许iText在读取XFA数据时拾取字段,并允许保留设置

  • 我读了很多帖子提到删除匹配模式的键。我想删除与特定模式不匹配的键。

  • 通过特定的标签/键从整个JSON中删除任意值的简单方法是什么?我的JSON可能具有任意深度,因此按标签删除应该递归完成。 并且我想删除所有带有标签的元素,以便最终结果如下所示: 使用/会产生意想不到的结果(尤其是当有嵌套对象要删除时),因此它必须是一个支持JSON的实用工具,如jq或类似工具。

  • 问题内容: 我有两个要基于列合并的DataFrame。但是,由于其他拼写方式,空格数量不同,不存在变音符,只要它们彼此相似,我希望能够合并。 任何相似性算法都可以使用(soundex,Levenshtein,difflib)。 假设一个DataFrame具有以下数据: 然后我想得到结果DataFrame 问题答案: 类似建议,你可以申请的到df2的指标,然后应用: 如果这些是列,则可以按照相同的方