Curator для удаления старых данных из Elasticsearch

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.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']
Файл 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_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:
Что бы посмотреть, какие данные попадут под удаление запустим команду с параметром —dry-run
# curator --config /etc/curator/curator.yml /etc/curator/action.yml --dry-run
Ну а что бы удалить
# curator --config /etc/curator/curator.yml /etc/curator/action.yml

Добавить комментарий

Ваш адрес email не будет опубликован.