当前位置: 首页 > news >正文

ELK批量删除索引

一、存在问题

用了一段时间elk发现如果索引长时间不删除,elk会越来越慢,重启elasticsearch服务器节点之前同步时间也会很长

二、解决方法(定期删除索引)

1.在elasticsearch节点上使用curl -XGET 'http://192.168.X.XX:9200/_cat/shards'查看索引

[root@192-168-x-x scripts]# curl -XGET 'http://192.168.x.x:9200/_cat/shards' | more
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0  0   0   0  0   0   0   0 --:--:-- --:--:-- --:--:--     0freetrip-2019.01.29   2 r STARTED   34  59kb 192.168.x.x node3-192.168.x.x
freetrip-2019.01.29                2 p STARTED     34    59kb 192.168.x.x node1-192.168.x.x
freetrip-2019.01.29                1 p STARTED     47 122.7kb 192.168.x.x node3-192.168.x.x
freetrip-2019.01.29                1 r STARTED     47 122.7kb 192.168.x.x node1-192.168.x.x
freetrip-2019.01.29                3 p STARTED     58  90.5kb 192.168.x.x node2-192.168.x.x
freetrip-2019.01.29                3 r STARTED     58  90.5kb 192.168.x.x node1-192.168.x.x
freetrip-2019.01.29                4 r STARTED     41  45.5kb 192.168.x.x node2-192.168.x.x
freetrip-2019.01.29                4 p STARTED     41  45.5kb 192.168.x.x node3-192.168.x.x
freetrip-2019.01.29                0 p STARTED     36  97.9kb 192.168.x.x node2-192.168.x.x
freetrip-2019.01.29                0 r STARTED     36  97.9kb 192.168.x.x node3-192.168.x.x

2.将过滤出来要删除的索引存到临时文件夹里面

[root@192-168-x-x ~]# curl -XGET 'http://192.168.x.x:9200/_cat/shards' | grep 192.168.x.x | grep 2018 | awk '{print $1}' |uniq > elk-index.tmp
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 81832  100 81832    0     0   142k      0 --:--:-- --:--:-- --:--:--  142k
[root@192-168-3-163 ~]# cat elk-index.tmp 
otter-canal-195-2018.12.10
logstash-nginx-chm-accesslog-2018.11.20
logstash-nginx-oms-accesslog-2018.10.14
laravel-chm248-online-2018.12.10
otter-canal-195-2018.11.20
logstash-nginx-oms-accesslog-2018.11.20
otter-communication-195-2018.11.23
otter-communication-195-2018.12.10
otter-node-195-2018.12.10
logstash-nginx-chvisa-accesslog-2018.10.14
wanmei219-online-2018.10.14
logstash-nginx-chm-accesslog-2018.11.19
otter-canal-195-2018.11.23
otter-canal-195-2018.11.19
logstash-nginx-oms-accesslog-2018.11.19
laravel-chm248-online-2018.11.19
logstash-nginx-oms-accesslog-2018.12.10
otter-manager-195-2018.12.10
logstash-nginx-chvisa-accesslog-2018.11.20
wanmei219-online-2018.12.10
logstash-nginx-chvisa-accesslog-2018.11.19
otter-communication-195-2018.11.19
otter-communication-195-2018.11.20
laravel-chm248-online-2018.11.20
laravel-chm248-online-2018.10.14
logstash-nginx-chm-accesslog-2018.12.10
wanmei219-online-2018.11.19
logstash-nginx-chvisa-accesslog-2018.12.10
wanmei219-online-2018.11.20
logstash-nginx-chm-accesslog-2018.10.14

3. 删除过滤出来的索引文件

for i in `cat elk-index.tmp`
do 
      curl -XDELETE  http://192.168.3.163:9200/$i 
done

4. 使用脚本加定时任务,每一天删除前三天的索引

[root@192-168-x-x ~]# cat /home/scripts/del_elasticseatch_index.sh 
#!/bin/bash
curl -XGET 'http://192.168.x.x:9200/_cat/shards' |grep 192.168.x.x | awk '{print $1}' |grep `date -d "5 days ago" +%Y.%m.%d` | uniq > /tmp/index_name.tmp

for index_name in `cat /tmp/index_name.tmp`
do
   echo $index_name
    curl -XDELETE  http://192.168.x.x:9200/$index_name
    echo "${index_name} delete success" >> /home/scripts/del_elasticseatch_index.log
done

5. 定时任务

[root@192-168-x-x ~]# crontab -l
0 3 * * * bash /home/scripts/del_elasticseatch_index.sh

 

转载于:https://www.cnblogs.com/cyleon/p/10334155.html

相关文章:

  • (转)Android中使用ormlite实现持久化(一)--HelloOrmLite
  • 华致酒行登陆A股 启幕酒业流通“铂金时代”
  • 【原创】MySQL新旧版本ORDER BY 处理方法
  • HBase笔记6 过滤器
  • Javascript Date原型方法
  • ECMASCript 2019可能会有哪些特性?
  • 625某电商网站数据库宕机故障解决实录(下)
  • JSP 开发环境搭建
  • SpringBoot三种启动方式
  • Python--day39--进程池的回调函数callback
  • IT人,给你一片天,你真的敢要么
  • JAVA编程技巧之如何实现HTTP的断点续传(原理篇)
  • VMware虚拟机提速10招
  • golang []byte转json和json转[]byte
  • C语言近程型(near)和远程型(far)的区别是什么?
  • 《用数据讲故事》作者Cole N. Knaflic:消除一切无效的图表
  • JAVA SE 6 GC调优笔记
  • magento2项目上线注意事项
  • mysql常用命令汇总
  • Netty 框架总结「ChannelHandler 及 EventLoop」
  • Vue小说阅读器(仿追书神器)
  • 初识MongoDB分片
  • 从零到一:用Phaser.js写意地开发小游戏(Chapter 3 - 加载游戏资源)
  • 实战|智能家居行业移动应用性能分析
  • 腾讯优测优分享 | Android碎片化问题小结——关于闪光灯的那些事儿
  • 用jquery写贪吃蛇
  • 3月27日云栖精选夜读 | 从 “城市大脑”实践,瞭望未来城市源起 ...
  • 曾刷新两项世界纪录,腾讯优图人脸检测算法 DSFD 正式开源 ...
  • ​ssh免密码登录设置及问题总结
  • #### go map 底层结构 ####
  • $(selector).each()和$.each()的区别
  • (超简单)构建高可用网络应用:使用Nginx进行负载均衡与健康检查
  • (翻译)Entity Framework技巧系列之七 - Tip 26 – 28
  • (附源码)ssm基于jsp高校选课系统 毕业设计 291627
  • (免费领源码)python#django#mysql公交线路查询系统85021- 计算机毕业设计项目选题推荐
  • (全注解开发)学习Spring-MVC的第三天
  • (三维重建学习)已有位姿放入colmap和3D Gaussian Splatting训练
  • (译) 函数式 JS #1:简介
  • (原創) 如何讓IE7按第二次Ctrl + Tab時,回到原來的索引標籤? (Web) (IE) (OS) (Windows)...
  • (总结)Linux下的暴力密码在线破解工具Hydra详解
  • *p++,*(p++),*++p,(*p)++区别?
  • .NET Remoting学习笔记(三)信道
  • .net 微服务 服务保护 自动重试 Polly
  • .Net 中的反射(动态创建类型实例) - Part.4(转自http://www.tracefact.net/CLR-and-Framework/Reflection-Part4.aspx)...
  • .netcore 如何获取系统中所有session_ASP.NET Core如何解决分布式Session一致性问题
  • @angular/cli项目构建--Dynamic.Form
  • @FeignClient注解,fallback和fallbackFactory
  • [android] 请求码和结果码的作用
  • [c]扫雷
  • [C语言]——C语言常见概念(1)
  • [HackMyVM]靶场 Wild
  • [hdu 3652] B-number
  • [Java]快速入门二叉树,手撕相关面试题
  • [leetcode] 3Sum
  • [LeetCode] NO. 387 First Unique Character in a String