CuratorでElasticsearchの古いindexを削除する
elasticsearchCuratorとは
indexやsnapshotを管理するのに使えるツール。
インストール
インストールする。
$ cat /etc/yum.repos.d/curator.repo
[curator-4]
name=CentOS/RHEL 7 repository for Elasticsearch Curator 4.x packages
baseurl=http://packages.elastic.co/curator/4/centos/7
gpgcheck=1
gpgkey=http://packages.elastic.co/GPG-KEY-elasticsearch
enabled=1
$ yum install -y elasticsearch-curator
$ curator --version
curator, version 4.2.6
config
configファイルを書く。
client:
hosts:
- 127.0.0.1
port: 9200
logging:
loglevel: INFO
logfile:
logformat: default
blacklist: ['elasticsearch', 'urllib3']
action
今回はindexを削除するのでdelete_indices。
対象はfilterで指定する。
logstash formatだとhogehoge-2017.01.01のようなindex名になるので%Y.%m.%d。okder than 3 daysのものを削除する。
actions:
1:
action: delete_indices
description: >-
3日前より古いhogehoge-* indexを消す
filters:
- filtertype: pattern
kind: prefix
value: hogehoge-
- filtertype: age
source: name
direction: older
timestring: '%Y.%m.%d'
unit: days
unit_count: 3
実行
configとactionファイルを指定して実行する。
$ curator --config curator_config.yml curator_action.yml
毎日00:05に実行するようにしてみる。
$ crontab -l
5 0 * * * curator --config curator_config.yml curator_action.yml