1 заметка с тегом

deb

Ротация индектов Elasticsearch — утилита curator Ubuntu 19.04/18.04/16.04

Была поставлена задача — произвести ротацию старых индексов у Elasticsearch, т.к старые индексы не несут пользы и занимают достаточно много места. После недолгих поисков выбор пал на утилиту curator
Подробнее можно найти на сайте elastic.co

Устанавливаем утилиту как pip-пакет
Сперва проверяем, установлен ли pip


sudo apt-get install python-pip


Установка утилиты


sudo pip install elasticsearch-curator


Для Ubuntu 12.04 — 16.04 LTS


wget https://packages.elastic.co/curator/5/debian/pool/main/e/elasticsearch-curator/elasticsearch-curator_5.7.5_amd64.deb

sudo dpkg -i elasticsearch-curator_5.7.5_amd64.deb


Для Ubuntu 18.04 LTS и новее


https://packages.elastic.co/curator/5/debian9/pool/main/e/elasticsearch-curator/elasticsearch-curator_5.7.5_amd64.deb

sudo dpkg -i elasticsearch-curator_5.7.5_amd64.deb


Примеры конфигурационных файлов. Для  curator.yml обращаем внимание на hosts — указываем сервер elasticsearch, port — порт тоже

curator.yml


---
client:
  hosts:
    - 127.0.0.1
  port: 9200
  url_prefix:
  use_ssl: False
  certificate:
  client_cert:
  client_key:
  ssl_no_validate: False
  http_auth:
  timeout: 30
  master_only: False

logging:
  loglevel: INFO
  logfile:
  logformat: default
  blacklist: ['elasticsearch', 'urllib3']


Для delete_indices.yml, с помощью которого удаляем нужные индексы, обращаем внимание на value — название индекса, timestring — форматы даты, который используется при ротации, unit и unit_count — период для ротации.

delete_indices.yml


---
actions:
  1:
    action: delete_indices
    description: >-
      Delete indices older than 20 days (based on index name
    options:
      ignore_empty_list: False
      timeout_override:
      continue_if_exception: False
      disable_action: False
    filters:
    - filtertype: pattern
      kind: prefix
      value: packetbeat-6.5.4-
      exclude:
    - filtertype: age
      source: name
      direction: older
      timestring: '%Y.%m.%d'
      unit: days
      unit_count: 20
      exclude:


Пример команды для запуска, для тестового запуска указываем —dry-run


sudo curator --config ~/curator.yml --dry-run ~/delete_indices.yml


ну или боевой запуск


sudo curator --config ~/curator.yml ~/delete_indices.yml


При необходимости указываем выполнение через crontab

Источники:
http://robwillis.info/2017/11/elk-stack-installing-and-configuring-curator/
https://anotheritguy.com/index.php/2018/08/install-configure-elastic-curator-for-index-management/
http://www.madhur.co.in/blog/2017/04/09/usingcuratordeleteelasticindex.html