一、对于Curator
curator容许对索引和快照执行许多不同的操作,罕用操作包含:
- 从别名增加或删除索引
- 更改分片路由调配更改分片路由调配
- 敞开索引敞开索引
- 创立索引创立索引
- 删除索引删除索引
- 删除快照删除快照
- 关上被敞开的索引关上被敞开的索引
curator版本
Curator版本关系
二、装置&卸载curator
1.自己应用的装置形式(centos7环境下)
- 下载对应的curator包 下载地址:
Elasticsearch Curator 5.8.3 RHEL/CentOS 7 Binary Package (RPM)
Elasticsearch Curator 5.8.3 RHEL/CentOS 6 Binary Package (RPM) 在elasticsearch集群所在的机器上装置curator
rpm -ivh elasticsearch-curator-5.8.3-1.x86_64.rpm
验证是否装置胜利
curator --version
如果呈现如下谬误:
Click will abort further execution because Python 3 was configured to use ASCII as encoding for the environment. Consult http://click.pocoo.org/python... mitigation steps.
This system lists a couple of UTF-8 supporting locales that
you can pick from. The following suitable locales where
discovered: en_AG.utf8, en_AU.utf8, en_BW.utf8, en_CA.utf8, en_DK.utf8, en_GB.utf8, en_HK.utf8, en_IE.utf8, en_IN.utf8, en_NG.utf8, en_NZ.utf8, en_PH.utf8, en_SG.utf8, en_US.utf8, en_ZA.utf8, en_ZM.utf8, en_ZW.utf8
解决形式:
##执行前运行export LC_ALL=en_US.utf-8export LANG=en_US.utf-8
2.官网装置步骤
Curator官网装置步骤
3.应用docker镜像装置
docker镜像装置curator
卸载curator
rpm -e elasticsearch-curator
参考:ElasticSearch-curator 装置与卸载
三、应用curator治理索引
1.curator运行
## 指定配置文件config_file.yml,和须要执行的脚本文件action_file.yml curator --config /config/config_file.yml /config/action_file.yml
- 参考config_file.yml
版本不同配置文件也有很大差异,请参考官网文档:官网配置文件地址
---# Remember, leave a key empty if there is no value. None will be a string,# not a Python "NoneType"client: hosts: - 127.0.0.1 port: 9200 url_prefix: use_ssl: False certificate: client_cert: client_key: ssl_no_validate: True username: 'elastic' password: '123456'# http_auth: elastic:123456 timeout: 120 master_only: Truelogging: loglevel: INFO logfile: logformat: default #blacklist: ['elasticsearch', 'urllib3']
- 参考action_file.yml
具体治理执行命令参考官网:官网治理action_file
actions: 1: action: delete_indices description: >- Delete indices older than ${UNIT_COUNT:1} ${UNIT:months} (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: True disable_action: False filters: - filtertype: pattern kind: prefix value: logstash- exclude: - filtertype: age source: name direction: older timestring: '%Y.%m.%d' unit: ${UNIT:months} unit_count: ${UNIT_COUNT:1} exclude:# 2:# action: delete_indices# description: >-# Delete indices older than ${UNIT_COUNT:1} ${UNIT:months} (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: True# disable_action: False# filters:# - filtertype: pattern# kind: prefix# value: filebeat-# exclude:# - filtertype: age# source: name# direction: older# timestring: '%Y.%m.%d'# unit: ${UNIT:months}# unit_count: ${UNIT_COUNT:1}# exclude:
2.定时执行(linux)
crontab命令用于设置周期性被执行的指令。该命令从规范输出设施读取指令,并将其寄存于“crontab”文件中,以供之后读取和执行
- 编写sh脚本:curator-delete-index.sh
#!/bin/sh /usr/local/bin/curator --config /home/soft/elk/config.yml /home/soft/elk/action.yml echo "delete index success" #最好应用命令的全路径名,否则可能找不到
- chmod 777 /home/elk/curator-delete-index.sh
- 创立定时工作:crontab
1. crontab -e #关上了vi,输出:30 16 * * * /home/elk/curator-delete-index.sh #之后保留退出vi2. crontab -l #查看所有的root用户的定时工作
参考文档:ES Curator的应用及其配置
四、附录
干货 | Elasticsearch索引治理利器——Curator深刻详解