Curator это мощная утилита, написанная на python, для работы с elasticsearch.
К сожалению, в самом elasticsearch нет механизма для удаления страх данных, поэтому приходится их удалять в ручную (curl -XDELETE…) или писать скрипты для автоматизации. Но зачем писать свой велосипед, если на просторах интернета уже давно есть решение — curator!
Скачаем rpm пакет и установим его.
После установки нам нужно создать файл конфигурации и файл действия для «куратора». Я создал эти файлы в /etc/curator/
Файл 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.1port: 9200url_prefix:use_ssl: Falsecertificate:client_cert:client_key:aws_key:aws_secret_key:aws_region:ssl_no_validate: Falsehttp_auth: user:pasword # У меня настроена аутентификация, т.к. установлен x-packtimeout: 30master_only: Falselogging:loglevel: INFOlogfile:logformat: defaultblacklist: ['elasticsearch', 'urllib3']
Файл action.yml — файл действия, в моем случае удаление старых данных
---# Remember, leave a key empty if there is no value. None will be a string,# not a Python "NoneType"## Also remember that all examples have 'disable_action' set to True. If you# want to use this action as a template, be sure to set this to False after# copying it.actions:1:action: delete_indicesdescription: >-Delete logstash indices older than 30 days.options:ignore_empty_list: Truetimeout_override:continue_if_exception: Falsedisable_action: Falsefilters:- filtertype: patternkind: prefixvalue: logstash-exclude:- filtertype: agesource: namedirection: oldertimestring: '%Y.%m.%d'unit: daysunit_count: 30exclude:
Что бы посмотреть, какие данные попадут под удаление запустим команду с параметром —dry-run
# curator --config /etc/curator/curator.yml /etc/curator/action.yml --dry-run
Ну а что бы удалить
# curator --config /etc/curator/curator.yml /etc/curator/action.yml
