暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

定时删除N天前Elasticsearch中索引数据

IT维与修 2022-07-09
1180

目的:

  • 防止因Elasticsearch服务长期接收数据,磁盘爆满导致服务异常

  • 主要是因logstash 服务对接收数据处理中,未能实现对索引数据的生命周期的管理

  • 脚本简单,适合中小型数据量的删除动作

定义脚本名称es_index_delete.sh

脚本内容

#!/bin/bash
#es_index_delete.sh
LAST_DATA=`date -d "-5 days" "+%Y.%m.%d"` #删除5天前索引数据 "+%Y.%m.%d" "+%Y-%m-%d" 注意时间标识区别. -
curl --user user:password -XDELETE http://192.168.0.11:9200/*-${LAST_DATA}
exit 0



  • --user user:password ES认证用户名&密码

  • -5 days:指5天前的索引数据(具体可以根据项目需要修改时间)

  • %Y-%m-%d:指索引的日期格式,具体根据实际项目索引修改格式,%Y.%m.%d为另一种日期格式。

  • curl -XDELETE http://ip:port/-${LAST_DATA}:删除索引的命令,ip是索引集群地址,port是索引集群端口, 表示模糊匹配索引名字,也可以设置为具体名字。

    • 例如:curl -XDELETE http://192.168.0.11:9200/log-${LAST_DATA}

文章转载自IT维与修,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论