首页 > 技术文章 > elasticsearch-curator

mliu 2018-09-04 14:24 原文

一、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

推荐阅读