Ошибка при запуске куратора для удаления старых индексов
Я хочу удалить индексы эластичного поиска старше 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 или что-то в этом роде?