elasticsearch-curator
一、curator介绍
ELK集群每天会产生index,随着index数量的增加,会不断增加磁盘的占用空间,需要删除index才能释放空间。curator的作用,就是删除过期的索引。
二、软件安装
(1)安装pip
执行rpm -qa | grep pip,检测服务器是否安装PIP,如果没有,执行以下命令(如果没有wget命令,执行 yum -y install wget):
wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py
(2)安装curator
pip install elasticsearch-curator
cutator安装完成后,可以执行curator --help、curator_cli --help查看相关使用语法信息。
三、文件配置
需要自己创建两个配置文件:curator_conf.yaml和curator_actions.yaml
(1)curator_conf.yaml
client: hosts: ["192.168.XXX.XXX: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: /mnt/curator.log logformat: default blacklist: ['elasticsearch','urllib3']
需要注意的:
hosts:填写自己的IP、端口
timeout:超时时间,默认单位是秒
logfile: 日志路径位置
(2)curator_actions.yaml
actions: 1: action: delete_indices description: >- Delete indices older than 5 days (based on index name), for filebeat-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: filebeat- exclude: - filtertype: age source: name direction: older timestring: '%Y.%m.%d' unit: days unit_count: 5 exclude:
需要注意的:
value:索引名称
unit_count:天数
如果需要添加多个actionsID,可以按顺序添加2、3、4
四、测试
(1)执行以下语句,测试配置是否成功
curator --config ./curator_conf.yaml ./curator_actions.yaml
(2)执行以下命令,查看相关索引是否已经被删除
curl '192.168.XXX.XXX:9200/_cat/indices?v'
五、计划任务定期执行
(1)执行脚本
#!/bin/bash
/usr/bin/curator --config /home/softwares/curator-master/ curator_conf.yml /home/softwares/curator-master/ curator_actions.yml
(2)定时执行
crontab -e
0 1 * * * /mnt/curator_delete.sh