ELK之elasticsearch删除索引

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

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

  查看当前所有索引

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

  1,删除指定索引

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

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

  2,删除多个索引

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

  3,删除所有索引

1
2
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如下所示

  书写删除索引脚本

1
delete_es_index.sh

  

1
2
3
4
5
6
7
8
9
#!/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}

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

 

   注意:以上为未加密配置 如安装了search guard则使用以下方式

1
curl -XDELETE 'https://user:password@IP:9200/_all -k

 

posted @   minseo  阅读(16705)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
历史上的今天:
2018-05-30 cp命令取消提示的方法
2018-05-30 Docker实现跨主机互联
2018-05-30 Docker镜像制作
2017-05-30 GlusterFS实战
点击右上角即可分享
微信分享提示