Ошибка при запуске куратора для удаления старых индексов

Я хочу удалить индексы эластичного поиска старше 7 дней. Поэтому я установил куратор 4.2, так как моя версия asticsearch - 5.0.0 (кураторская версия до 4.x не совместима с asticsearch v5)

нам нужно создать файл конфигурации и файл действий, чтобы сделать эту работу. Я создал файл конфигурации и действий в корневом каталоге

Мой конфигурационный файл curator.yml

---
# Remember, leave a key empty if there is no value.  None will be a string,
# not a Python "NoneType"
client:
  hosts:
    - 127.0.0.1
  port: 9200
  url_prefix:
  use_ssl: False
  certificate:
  client_cert:
  client_key:
  aws_key:
  aws_secret_key:
  aws_region:
  ssl_no_validate: False
  http_auth:
  timeout: 30
  master_only: False

logging:
  loglevel: INFO
  logfile:
  logformat: default
  blacklist: ['elasticsearch', 'urllib3']

Мой файл действий curatorAction.yml

actions:
  1:
    action: delete_indices
    description: >-
      Delete indices older than 45 days (based on index name), for logstash-
      prefixed indices. Ignore the error if the filter does not result in an
      actionable list of indices (ignore_empty_list) and exit cleanly.
    options:
      ignore_empty_list: True
      timeout_override:
      continue_if_exception: False
      disable_action: True
    filters:
    - filtertype: pattern
      kind: prefix
      value: logstash-
      exclude:
    - filtertype: age
      source: name
      direction: older
      timestring: '%Y.%m.%d'
      unit: days
      unit_count: 7
      exclude:

Я работаю куратором с CLI как

curator --config curator.yml --dry-run curatorAction.yml

но я получаю эту ошибку. Я не могу найти что-нибудь об этом нигде. Любая помощь будет оценена.

  2017-02-15 17:52:02,991 ERROR     Schema error: extra keys not allowed @ data[1]
    Traceback (most recent call last):
      File "/usr/local/bin/curator", line 11, in <module>
        load_entry_point('elasticsearch-curator==4.2.6', 'console_scripts', 'curator')()
      File "/usr/local/lib/python2.7/site-packages/click/core.py", line 722, in __call__
        return self.main(*args, **kwargs)
      File "/usr/local/lib/python2.7/site-packages/click/core.py", line 697, in main
        rv = self.invoke(ctx)
      File "/usr/local/lib/python2.7/site-packages/click/core.py", line 895, in invoke
        return ctx.invoke(self.callback, **ctx.params)
      File "/usr/local/lib/python2.7/site-packages/click/core.py", line 535, in invoke
        return callback(*args, **kwargs)
      File "/usr/local/lib/python2.7/site-packages/curator/cli.py", line 126, in cli
        action_dict = validate_actions(action_config)
      File "/usr/local/lib/python2.7/site-packages/curator/utils.py", line 1085, in validate_actions
        root = SchemaCheck(data, actions.root(), 'Actions File', 'root').result()
      File "/usr/local/lib/python2.7/site-packages/curator/validators/schemacheck.py", line 68, in result
        self.test_what, self.location, self.badvalue, self.error)
    curator.exceptions.ConfigurationError: Configuration: Actions File: Location: root: Bad Value: "{'action': 'delete_indices', 'description': 'Delete selected indices', 'filters': [{'exclude': None, 'kind': 'prefix', 'filtertype': 'pattern', 'value': 'logstash-'}, {'source': 'name', 'direction': 'older', 'unit_count': 30, 'timestring': '%Y.%m.%d', 'exclude': None, 'filtertype': 'age', 'unit': 'days'}], 'options': {'continue_if_exception': False, 'timeout_override': None, 'disable_action': False}}", extra keys not allowed @ data[1]. Check configuration file.

1 ответ

Я не могу найти ничего неправильного в вашем файле curatorAction.yml. На самом деле, ниже приведен результат моего запуска. Я вырезал / вставил именно то , что у вас выше, минус disable_action: True в test2.yml:

root @ esclient: ~ /.curator # curator --config test.yml --dry-run test2.yml
2017-02-15 15: 48: 53,705 ИНФОРМАЦИЯ Подготовка ID действия: 1, "delete_indices"
2017-02-15 15:48:53,713 ИНФОРМАЦИЯ Попытка идентификатора действия: 1, "delete_indices": удалить индексы старше 45 дней (на основе имени индекса) для индексов с префиксом logstash. Игнорируйте ошибку, если фильтр не приводит к действующему списку индексов (ignore_empty_list) и завершите работу корректно.
2017-02-15 15:48:54,034 ИНФОРМАЦИЯ РЕЖИМ СУХОГО ЗАПУСКА. Изменений не будет.
2017-02-15 15:48:54,034 Могут быть показаны индексы INFO      (ЗАКРЫТО), на которые нельзя воздействовать действием "delete_indices".
2017-02-15 15:48:54,034 INFO      DRY-RUN: delete_indices: logstash-2017.01.06 с аргументами: {}
2017-02-15 15:48:54,034 INFO      DRY-RUN: delete_indices: logstash-2017.02.01 (ЗАКРЫТО) с аргументами: {}
2017-02-15 15:48:54,034 INFO      DRY-RUN: delete_indices: logstash-2017.02.02 с аргументами: {}
2017-02-15 15:48:54,034 INFO      DRY-RUN: delete_indices: logstash-2017.02.03 с аргументами: {}
2017-02-15 15:48:54,034 INFO      DRY-RUN: delete_indices: logstash-2017.02.04 с аргументами: {}
2017-02-15 15:48:54,035 INFO      DRY-RUN: delete_indices: logstash-2017.02.05 с аргументами: {}
2017-02-15 15:48:54,035 INFO      DRY-RUN: delete_indices: logstash-2017.02.06 с аргументами: {}
2017-02-15 15:48:54,035 INFO      DRY-RUN: delete_indices: logstash-2017.02.07 с аргументами: {}
2017-02-15 15:48:54,035 INFO      DRY-RUN: delete_indices: logstash-2017.02.08 с аргументами: {}
2017-02-15 15: 48: 54,035 ИНФОРМАЦИЯ Идентификатор действия: 1, "delete_indices" завершен.
2017-02-15 15: 48: 54,035 INFO Работа завершена.

Опять же, единственное изменение, которое я сделал, это установить disable_action: False - или просто удалите строку - так как ничто не запустится, если для нее установлено значение True,

Это не объясняет вашу ошибку, которая указывает на то, что ваш файл неправильно отформатирован. Есть ключ корневого уровня, который он не любит, но вырезать / вставить, и он работает для меня, поэтому я не могу сказать, как или почему ваш может быть отформатирован неправильно.

Вы использовали символ новой строки DOS для файла curatorAction.yml или что-то в этом роде?

Другие вопросы по тегам