使用shell指令碼清理ElasticSearch歷史資料
阿新 • • 發佈:2021-08-20
shell指令碼內容如下:
#!/bin/bash # # 指令碼名:clean.sh # 功能:用於清理日誌資料 # 作者:Varden CONFIG_FILE=/home/scripts/config.yml ACTION_FILE=/home/scripts/action_file.yml /usr/bin/curator --config $CONFIG_FILE $ACTION_FILE echo "---" echo "刪除2個月之前的日誌資料:" _last_data=`date -d '-2 months' +%Y.%m` curl -XDELETE "http://127.0.0.1:9200/filebeat-7.4.0-${_last_data}.*" echo curl -XDELETE "http://127.0.0.1:9200/k8s-${_last_data}.*" echo # 指令碼結束
/home/scripts/config.yml檔案內容如下:
--- # Remember, leave a key empty if there is no value. None will be a string, # not a Python "NoneType" client: hosts: - es-server-data1 - es-server-data2 - es-server-data3 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']
/home/scripts/action_file.yml檔案內容如下:
作者:Varden 出處:http://www.cnblogs.com/varden/ 本文內容如有雷同,請聯絡作者! 本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出原文連線,否則保留追究法律責任的權利。--- # 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: "Clean up ES by deleting old indices" options: timeout_override: continue_if_exception: False disable_action: False ignore_empty_list: True filters: - filtertype: age source: name direction: older timestring: '%Y.%m.%d' unit: days unit_count: 15 field: stats_result: epoch: exclude: False