ElasticSearchのIndexをローテートするスクリプト作成
Kibana3でログを解析する環境を構築する際、
ElasticSearch上にいつまでもログを残しておけないので定期的にIndexを削除するスクリプトを作成。
仕様としては以下のような感じ。
- ElasitcSearch上にあるIndex名を最初に取得
- [PREFIX]-[YYYY].[MM] もしくは [PREFIX]-[YYYY].[MM].[DD]というフォーマットのIndexを対象とする
- 対象のIndexのうち、expire_days以上の日数が経過([PREFIX]-[YYYY].[MM]の場合は月末からの経過日数を計算)している場合はIndexを削除