2017-02-15 4 views
1

Я хочу удалить индексы elasticsearch старше 7 дней. Таким образом, я установил curator 4.2, так как моя версия elasticsearch 5.0.0 (версия куратора до 4.x несовместима с elasticsearch 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 as

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

Вы на 100% уверены, что все отформатировано полностью правильно? Я скопировал и вставил ваш файл YAML в действие, и он отлично работал для меня. – untergeek

+0

Я думаю, что была проблема только отступов. Я удалил файлы и воссоздал. ** Это сработало ** –

ответ

0

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

 
[email protected]:~/.curator# curator --config test.yml --dry-run test2.yml 
2017-02-15 15:48:53,705 INFO  Preparing Action ID: 1, "delete_indices" 
2017-02-15 15:48:53,713 INFO  Trying Action ID: 1, "delete_indices": 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. 
2017-02-15 15:48:54,034 INFO  DRY-RUN MODE. No changes will be made. 
2017-02-15 15:48:54,034 INFO  (CLOSED) indices may be shown that may not be acted on by action "delete_indices". 
2017-02-15 15:48:54,034 INFO  DRY-RUN: delete_indices: logstash-2017.01.06 with arguments: {} 
2017-02-15 15:48:54,034 INFO  DRY-RUN: delete_indices: logstash-2017.02.01 (CLOSED) with arguments: {} 
2017-02-15 15:48:54,034 INFO  DRY-RUN: delete_indices: logstash-2017.02.02 with arguments: {} 
2017-02-15 15:48:54,034 INFO  DRY-RUN: delete_indices: logstash-2017.02.03 with arguments: {} 
2017-02-15 15:48:54,034 INFO  DRY-RUN: delete_indices: logstash-2017.02.04 with arguments: {} 
2017-02-15 15:48:54,035 INFO  DRY-RUN: delete_indices: logstash-2017.02.05 with arguments: {} 
2017-02-15 15:48:54,035 INFO  DRY-RUN: delete_indices: logstash-2017.02.06 with arguments: {} 
2017-02-15 15:48:54,035 INFO  DRY-RUN: delete_indices: logstash-2017.02.07 with arguments: {} 
2017-02-15 15:48:54,035 INFO  DRY-RUN: delete_indices: logstash-2017.02.08 with arguments: {} 
2017-02-15 15:48:54,035 INFO  Action ID: 1, "delete_indices" completed. 
2017-02-15 15:48:54,035 INFO  Job completed. 

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

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

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

+1

Нет, я не использовал символ новой строки DOS. Проблема заключалась только в отступе. Это было исправлено путем воссоздания файлов. –