![Elasticsearch キュレーターが古いインデックスを削除しない](https://rvso.com/image/170301/Elasticsearch%20%E3%82%AD%E3%83%A5%E3%83%AC%E3%83%BC%E3%82%BF%E3%83%BC%E3%81%8C%E5%8F%A4%E3%81%84%E3%82%A4%E3%83%B3%E3%83%87%E3%83%83%E3%82%AF%E3%82%B9%E3%82%92%E5%89%8A%E9%99%A4%E3%81%97%E3%81%AA%E3%81%84.png)
私はElasticsearch + Kibana + File-/Metric-/Winlogbeatを使用してログファイルを要約しています。HDDが大量のログでいっぱいにならないように、ログを14日間だけ保存したいと考えていました。そこで、この作業を自動的に行うCuratorをインストールしました。残念ながら、Curatorはログを削除しません。空のリストCurator が削除する適切なインデックスがないと判断した理由がわかりません。
私のaction.ymlは次のようになります
actions:
1:
action: delete_indices
description: >-
Delete indices older than 30 days (based on index name), for winlogbeat-
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: False
filters:
- filtertype: pattern
kind: prefix
value: winlogbeat-
- filtertype: age
source: name
direction: older
timestring: '%Y.%m.%d'
unit: days
unit_count: 14
私のWinlogインデックスの名前は
ウィンログビート-7.5.2-2020.04.01-000033
ウィンログビート-7.5.2-2020.04.02-000034
いろいろ試しましたが、問題は解決しませんでした。
私の問題を解決できるアイデアはありますか?
答え1
さて、私にとって唯一機能する解決策は、curator_cli を手動で実行することです - ただし、これは cronjob によって実行されます。
curator_cli --config /home/user/curator.yml delete_indices --filter_list '[{"filtertype":"age","source":"creation_date","direction":"older","timestring":"%Y.%m.%d","unit":"days","unit_count":7},{"filtertype":"pattern","kind":"prefix","value":"winlogbeat-"}]'