ELK之elasticsearch删除索引

  参考文档:https://www.cnblogs.com/Dev0ps/p/9493576.html

  elasticsearch使用时间久了会产生大量索引占用磁盘空间,可以删除索引来释放  

  查看当前所有索引

curl '192.168.1.4:9200/_cat/indices?v'

  1,删除指定索引

curl -XDELETE 192.168.1.4:9200/system-log-2019.05

  其中system-log-2019.05为索引全称

  2,删除多个索引

curl -XDELETE 192.168.1.4:9200/system-log-2019.05,system-log-2019.05

  3,删除所有索引

 curl -XDELETE 192.168.1.4:9200/_all
或者
 curl -XDELETE 192.168.1.4:9200/*

   通常不建议使用通配符,误删了后果就很严重了,所有的index都被删除了
    禁止通配符为了安全起见,可以在elasticsearch.yml配置文件中设置禁用_all和*通配符
      action.destructive_requires_name = true
      这样就不能使用_all和*了

  4,安装指定日期删除索引

  前提索引大多是以日期为结尾一般格式为*.2019.05.30或者*.2019.05如下所示

  书写删除索引脚本

delete_es_index.sh

  

#!/bin/bash
#此脚本删除90天以上的es索引
#d_time为找出索引结尾为2019.03.01格式索引
d_time=$(date -d '-90days' +'%Y.%m.%d')
#m_time为找出索引结尾为2019.03的格式索引
m_time=$(date -d '-90days' +'%Y.%m')

/usr/bin/curl -XDELETE http://192.168.90.24:9200/*-${d_time}
/usr/bin/curl -XDELETE http://192.168.90.24:9200/*-${m_time}

  添加入定时任务每日执行即可

原文地址:https://www.cnblogs.com/minseo/p/10949802.html