Elasticsearch куратор удалить действие - удалить "n" старые индексы после ролловера? - PullRequest
0 голосов
/ 15 ноября 2018

Следующий куратор эластичного поиска (ниже) Настройка в curator-actions.yml настроена на удаление индексов на основе фильтра возраста, но я хотел бы настроить конфигурацию, которая работает с опрокидыванием, следующим образом:

Сохранять только последний индекс и только что созданный индекс пролонгации ->, таким образом, удаляя все остальные индексы после успешного переключения. Каков наилучший способ сделать это ?? Возможно с NEST в коде?

Вот мое текущее действие по удалению ... любая помощь очень ценится, спасибо!

in 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

1 Ответ

0 голосов
/ 17 ноября 2018

Это на самом деле проще, чем вы думаете. Вы можете легко сохранить два последних индекса с помощью фильтра 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, будут в стиле ролловера и будут увеличиваться численно. При необходимости вы можете добавить другие параметры или фильтры.

...