Thank you for reading this post, don't forget to subscribe!
Curator это мощная утилита, написанная на python, для работы с elasticsearch.
К сожалению, в самом elasticsearch нет механизма для удаления страх данных, поэтому приходится их удалять в ручную (curl -XDELETE…) или писать скрипты для автоматизации. Но зачем писать свой велосипед, если на просторах интернета уже давно есть решение — curator!
Скачаем rpm пакет и установим его.
После установки нам нужно создать файл конфигурации и файл действия для «куратора». Я создал эти файлы в /etc/curator/
Файл curator.yml — это конфиг
[codesyntax lang="php"]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
--- # 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: user:pasword # У меня настроена аутентификация, т.к. установлен x-pack timeout: 30 master_only: False logging: loglevel: INFO logfile: logformat: default blacklist: ['elasticsearch', 'urllib3'] |
[/codesyntax]
Файл action.yml — файл действия, в моем случае удаление старых данных
[codesyntax lang="php"]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
--- # 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_indices description: >- Delete logstash indices older than 30 days. options: ignore_empty_list: True timeout_override: continue_if_exception: False disable_action: False filters: - filtertype: pattern kind: prefix value: logstash- exclude: - filtertype: age source: name direction: older timestring: '%Y.%m.%d' unit: days unit_count: 30 exclude: |
[/codesyntax]
Что бы посмотреть, какие данные попадут под удаление запустим команду с параметром —dry-run
# curator --config /etc/curator/curator.yml /etc/curator/action.yml --dry-run
Ну а что бы удалить
# curator --config /etc/curator/curator.yml /etc/curator/action.yml