使用elasticsearch收集日志进行处理,时间久了,很老的数据就没用了并且占用很大的磁盘,这个时候就要对过期数据进行清理

删除elasticsearch数据分为两种:一种是删除索引(数据和表结构同时删除,作用同sql server 中 drop table "表格名"),另一种是删除数据(不删除表结构,作用同 sql server中delete 语句)

1、删除索引

#查询索引
[root@ecloud-elk-05 opt]# curl -u zhanghao:mima -XGET 'http://10.56.0.103:9200/_cat/indices'
green  open bizlog-2021.09.11                             pHsgvR7JQhmgMIBX24zhJg  1 1  25506896  2480707   44.3gb   22.1gb
green  open bizlog-2021.10.01                             noexo6r6Qe61qxmB30YzBQ  1 1  17382250  1859034   26.3gb   13.1gb
green  open bizlog-2021.09.12                             oYy6PpJERKatZnbhVJ6ZyA  1 1  19184655  1839037   33.1gb   16.5gb
green  open bizlog-2021.09.13                             w2LY5073QGy1I7r_9j1qag  1 1  29137518  2598039     49gb   24.5gb
green  open deliver-2021.11.21                            iNezTH7ISHmTt_dG3SdIvg 10 1     20071        0    7.9mb    3.9mb#查询索引的列表
[root@ecloud-elk-05 opt]# curl -u zhanghao:mima -XGET 'http://10.56.0.103:9200/_cat/indices' |awk '{print $3}' | awk -F'-' '{print $1}' |sort |uniq -c% Total    % Received % Xferd  Average Speed   Time    Time     Time  CurrentDload  Upload   Total   Spent    Left  Speed
100 45633  100 45633    0     0  41564      0  0:00:01  0:00:01 --:--:-- 4159746 api_nginx_log2 .apm1 .async107 bizlog68 ctlog71 deliver1 .kibana_11 .kibana_task_manager_11 redis1 .reporting1 .security71 zmms_system#清理索引
[root@ecloud-elk-05 0]# curl -XDELETE -u zhanghao:mima http://10.56.0.103:9200/ctlog-2021.09.02
{"acknowledged":true}[root@ecloud-elk-05 0]# 

清理索引的脚本一

[root@ecloud-elk-05 opt]# cat delete_es.sh
#********************************************************************
#Author:            yzl
#QQ:                calm_yzl@163.com
#Date:              2021-11-23
#FileName:           es_index_clear.sh
#URL:               yzil.cn
#Description:        The test script
#Copyright (C):     2021 All rights reserved
#********************************************************************username=zhanghao
passwd=mima
ruikaecs='10.56.0.103'datemask=$(date -d "-30 day" '+%Y-%m-%d')
index_list=(api_nginx_log bizlog ctlog deliver zmms_system)
for indexname in ${index_list[@]};doecho "`date '+%Y%m%d-%H%M%S'`clean index data:${indexname}-${datemask}"curl -XDELETE -u ${username}:${passwd} "http://$ruikaecs:9200/${indexname}-${datemask}"echo "done"
done

清理索引的脚本二

#Author:         yzl
#QQ:                calm_yzl@163.com
#Date:              2021-11-23
#FileName:           es_index_clear.sh
#URL:               yzil.cn
#Description:        The test script
#Copyright (C):     2021 All rights reserved
#********************************************************************# 需要清理几天以前的索引日志
CLEAN_DAY=30# 获取N天以前的年月日
YEAR=$(date -d "$(date -I) -$CLEAN_DAY"day"" +%Y)
MONTH=$(date -d "$(date -I) -$CLEAN_DAY"day"" +%m)
DAY=$(date -d "$(date -I) -$CLEAN_DAY"day"" +%d)# 获取需要过滤N天前的ES索引数据
DATA=`curl -s http://zhanghao:mima@10.56.0.103:9200/_cat/indices?v \
|awk '/[0-9]{4}.[0-9]{2}.[0-9]{2}/{print $3}' |awk -F[-.] '{s2=mktime($(NF-2)" "$(NF-1)" "$NF" 0 0 0");\
s1=systime()}{if(s1-s2 >= 86400*"'$CLEAN_DAY'") print $0}'`echo "即将清理"$YEAR'-'$MONTH'-'$DAY"前ES索引数据>>>>>>>>"
echo "清理数据为: "$DATA # 执行清理工作
for i in $DATAdosleep 1#curl -XDELETE -u zhanghao:mima http://10.56.0.103:9200/$i
doneecho "======================="
echo    "执行完成"
echo "======================="

2、使用官网 delete_by_query进行删除

curl -u 用户名:密码  -H'Content-Type:application/json' -d'{"query": {"range": {"@timestamp": {"lt": "now-7d","format": "epoch_millis"}}}
}
' -XPOST "http://127.0.0.1:9200/*-*/_delete_by_query?pretty"-u是格式为userName:password,使用Basic Auth进行登录。如果elasticsearch没有使用类似x-pack进行安全登录,则不需要加-u参数
-H是指定文档类型是json格式
-XPOST是指定用POST方式请求
-d是指定body内容{"query": {"range": { //范围"@timestamp": {//时间字段"lt": "now-7d",//lt是小于(<),lte是小于等于(<=),gt是大于(>),gte是大于等于(>=),now-7d是当前时间减7天"format": "epoch_millis"}}}
}定时删除$ crontab -e* 0 * * * /usr/bin/curl -u username:password  -H'Content-Type:application/json' -d'{"query":{"range":{"@timestamp":{"lt":"now-7d","format":"epoch_millis"}}}}' -XPOST "http://127.0.0.1:9200/*-*/_delete_by_query?pretty" > /tmp/elk_clean.txt每天0点删除超过7天的无效索引优点:不依赖第三方插件或者代码简单易理解不需要指定索引名称可用*通配符删除缺点:效率低

常见命令

查看索引列表
curl -k https://your_username:your_password@10.124.10.27:9200/_cat/indices?v查询集群是否健康
curl -k https://your_username:your_password@10.124.10.27:9200/_cluster/health查看所有shard
curl -k https://your_username:your_password@10.124.10.27:9200/_cat/shards启动命令
/usr/local/elasticsearch/bin/elasticsearch -d

elasticsearch 如何清理过期的数据相关推荐

  1. elasticsearch 怎么删除过期的数据

    使用elasticsearch收集日志进行处理,时间久了,很老的数据就没用了或者用途不是很大,这个时候就要对过期数据进行清理.但是es5.0之后就不支持ttl,那怎么办呢? 1,请使用官方的工具ela ...

  2. elasticsearch定时删除过期索引index

    elasticsearch定时清理过期索引index 一.定时函数 二.获取过期时间 三.获取esClient 四.获取全部索引 五.判定索引是否过期 六.删除过期索引 七.demo代码 一.定时函数 ...

  3. Redis 如何处理已经过期的数据?

    上一篇我们讲了 Redis 内存用完之后的内存淘汰策略,它主要是用来出来异常情况下的数据清理,而本文讲的是 Redis 的键值过期之后的数据处理,讲的是正常情况下的数据清理,但面试者常常会把两个概念搞 ...

  4. 如何使用Elasticsearch groovy script脚本更新数据

    2019独角兽企业重金招聘Python工程师标准>>> 如何使用Elasticsearch groovy script脚本更新数据 博客分类: 搜索引擎,爬虫 今天细说一下elast ...

  5. MongoDB 自动删除集合中过期的数据——TTL索引

    简介 ​ TTL (Time To Live, 有生命周期的) 索引是特殊单字段索引,MongoDB可以用来在一定时间后自动从集合中删除文档的特殊索引. 这对于某些类型的数据非常好,例如机器生成的事件 ...

  6. 【Flink】Flink 清理过期 Checkpoint 目录的正确姿势

    1.概述 转载:Flink 清理过期 Checkpoint 目录的正确姿势 参考:Flink如何清除过期的CheckPoint

  7. AD如何清理过期电脑

    客户的生产环境,有几千台电脑加入到域中,由于客户端测试电脑,很多没有正常退域,而直接重做系统,并且命名也各不相同,导至现在AD里面殘留很多电脑账号. 1.如何去检查及识别AD里面过期的电脑账号? 2. ...

  8. ChatGPT 和 Elasticsearch:OpenAI 遇见私有数据(二)

    在之前的文章 "ChatGPT 和 Elasticsearch:OpenAI 遇见私有数据(一)" 中,我们详细描述了如何结合 ChatGPT 及 Elasticsearch 来进 ...

  9. EFK之elasticSearch自动清理方案

    1 简介 本方案实现的功能点:输入日志文件.按照指定的日期(天数)清理数据.按照指定的磁盘路径使用率阈值清理数据.清除指定的索引数据,并配合crond实现定时监控和清理索引数据,以确保磁盘空间健康. ...

  10. 清理所有NSUserdefault数据

    清理所有NSUserdefault数据 NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults]; NSDictiona ...

最新文章

  1. IDEA Reference - Essentials(基本要义)
  2. linux读整个文件内容,Linux查看整个文件
  3. 玩 High API 系列之:智能云相册
  4. 从青铜到王者,来聊聊 Synchronized 底层实现原理 | 原力计划
  5. 功能和界面哪个更重要
  6. 嵌入式系统开发-麦子学院(3)——Linux C初级编程1
  7. linux 文本随机抽样_Linux命令总结
  8. 【猿说VUE】Vue过滤器使用介绍(劳动节致敬)
  9. 鸿蒙系统可以微信吗,微信鸿蒙版下载-微信华为鸿蒙操作系统版 v7.0.21-91优手机网...
  10. 记工作的第一月--光说不练,假把式
  11. 【NOIP2016提高组】天天爱跑步
  12. RDBMS(关系型数据库)与HBase的对比
  13. 攻略(一):骑马与砍杀-潘德的预言mod快速自立攻略
  14. 计算机操作员高级图形图像处理photoshopcs2试题解答,图形图像处理(Photoshop平台)Photoshop CS2试题汇编(图像制作员...
  15. 【游戏美术】Unity中,场景的优化以及基本规范
  16. 如何通过安防网络设备的EHOME协议把设备接入EasyCVR平台,进行互联网直播及分发?
  17. Android基于卷积神经网络的数字手势识别识别数字手势0-10 Android studio编译
  18. SQL知识点小结(嵌套查询)
  19. Android使用Intent发送短信SMS
  20. 2023浙沪地区MEM项目提前批面试申请最后时间表(8-11月)

热门文章

  1. 读书笔记:《圈子圈套》
  2. windows 清理助手 3.1
  3. DOS命令是如何操作目录和文件夹的?
  4. 第二章第一题(将摄氏温度转换为华氏温度)(Convert Celsius to Fahrenheit)
  5. iOS H264编码及解码
  6. php 开发模式 自定义,smartprinter虚拟打印机 smarty+adodb+部分自定义类的php开发模式...
  7. bin音频文件转MP3
  8. 使用pdfFactory Pro虚拟打印机便笺功能为文件添加批注
  9. 问题解决:你需要trustedinstaller提供的权限才能删除
  10. 东芝 rc100 linux,东芝RC100 M.2 NVMe固态硬盘HMB特性解读