Logstashのログが気付いたらめちゃんこ溜まってたので処理したときのメモ
curator というのが有ると知ったので調べてたけど、2.x 3.x の記事ばかりだったので困ってた。
環境
CentOS 7.2
curator のインストール
自分は yum を使いたかったので、公式を参考に設定した。
Curator 4.1 Instration
# /etc/repo.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
sudo yum install python-elasticsearch-curator
設定ファイルの作成
したいこと
– localhost:9200 のElasticsearchへ接続
– logstash で始まるindex の削除
– 過去30日分だけ残す
configファイルの作成
curator を実行するユーザーの ~/.curator/ ディレクトリに curator.yml を作成
別の場所に作っても、パス指定できるので問題ない。
公式を参考に…
Curator4.1 Configuration
# ~/.curator/curator.yml client: hosts: - localhost # 接続先IP かホスト名 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']
もろもろの設定はこちらで出来ます。 結果のログの出力とか..
actionファイルの作成
やりたいことの設定ファイルを作成 今回はindexを消したい
場所はどこでもいいです。 私は設定ファイルと同じ場所に置きました
ファイル名は適当に、 delete_indices_30_days にしました
公式のサンプルを参考に…
# ~/.curator/delete_indices_30_days # 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 indices older than 45 days (based on index name), for logstash- prefixed indices. Ignore the error if the filter does not result in an actionable list of indices (ignore_empty_list) and exit cleanly. options: ignore_empty_list: True timeout_override: continue_if_exception: False disable_action: True filters: - filtertype: pattern kind: prefix value: logstash- exclude: - filtertype: age source: name direction: older timestring: '%Y.%m.%d' unit: days unit_count: 45 #何日前まで残すか exclude:
このままだと実行できないので、
“disable_action: True” を False にします。
実行
# 設定ファイルを ~/.curator/curator.yml に作った場合 $ curator ~/.curator/delete_indices_30_days # 設定ファイルを それ以外の場所に作った場合 $ curator --config /path/to/curatoy.yml ~/.curator/delete_indices_30_days
いけました! ではでは