03.ES数据删除
前言
本文提供三种删除es数据的方法:
- 命令行手动删除
- 定时任务用脚本删除
- kibana上删除和index策略
1. 命令行手动删除
- 从elasticsearch上查看所有index
[root@DoM01 ~]# curl -s -XGET http://k8scto.xxx.com.cn:30028/_cat/indices?v
health status index uuid pri rep docs.count docs.deleted store.size pri.store.size
yellow open crust-framework-datav-2021.03.22 9vXt8u4BRNaQyYMmaPM1yw 1 1 1348 0 250.3kb 250.3kb
yellow open crust-framework-auth-2021.03.16 qxO5Aa_0RZyB1p_QXTqbNg 1 1 67589 0 11.3mb 11.3mb
yellow open crust-framework-auth-2021.03.15 mE1ePd1qReK8si6mZEUWMQ 1 1 64555 0 10.6mb 10.6mb
yellow open crust-framework-datav-2021.03.23 KmgSIf6VTKGr5OpntRj1cA 1 1 2696 0 464.3kb 464.3kb
yellow open crust-framework-auth-2021.03.12 KKWT1R4DTZWTdck1mIUYNQ 1 1 249310 0 41.2mb 41.2mb
.......
- 手动删除index
[root@DoM01 ~]# curl -XDELETE "http://k8scto.boe.com.cn:30028/crust-framework-gateway-2021.03.15"
{"acknowledged":true}
2. 定时任务删除
说明:
实际就是把刚才的手动删除写成了脚本,每日删除index是15天之前那个一天的index。
所以如果你写脚本的时候有15天之前的index,那需要手动删除一下。
- 删除脚本
创建一个删除日志的脚本 /usr/local/script/elk/delete_index.sh如下:
#!/bin/bash
DATE=`date -d "15 days ago" +%Y.%m.%d`
curl -s -XGET http://k8scto.xxx.com.cn:30028/_cat/indices?v| grep $DATE | awk '{print $3}' >/tmp/elk.log
for elk in `cat /tmp/elk.log`
do
curl -XDELETE "http://k8scto.xxx.com.cn:30028/$elk"
done
- 定时任务
[root@DoM01 elk]# crontab -l
00 01 * * * bash /usr/local/script/elk/delete_index.sh &>/dev/null
3. kibana上索引的操作
3.1 删除index
3.2 index的策略
- 修改index的策略
- 策略设置
如下图:
开启了Hot和Delete两个策略,将Delete策略设置为7天
Warm和Cold两个策略没有开启
这只是给index打了一个标签,并不会真的删除
posted on 2021-09-16 10:23 运维开发玄德公 阅读(167) 评论(0) 编辑 收藏 举报 来源