一、存在问题

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

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

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

[root@--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
--:--:-- --:--:-- --:--:-- 0freetrip-2019.01. r STARTED 59kb 192.168.x.x node3-192.168.x.x
freetrip-2019.01. p STARTED 59kb 192.168.x.x node1-192.168.x.x
freetrip-2019.01. p STARTED .7kb 192.168.x.x node3-192.168.x.x
freetrip-2019.01. r STARTED .7kb 192.168.x.x node1-192.168.x.x
freetrip-2019.01. p STARTED .5kb 192.168.x.x node2-192.168.x.x
freetrip-2019.01. r STARTED .5kb 192.168.x.x node1-192.168.x.x
freetrip-2019.01. r STARTED .5kb 192.168.x.x node2-192.168.x.x
freetrip-2019.01. p STARTED .5kb 192.168.x.x node3-192.168.x.x
freetrip-2019.01. p STARTED .9kb 192.168.x.x node2-192.168.x.x
freetrip-2019.01. r STARTED .9kb 192.168.x.x node3-192.168.x.x

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

[root@--x-x ~]# curl -XGET 'http://192.168.x.x:9200/_cat/shards' | grep 192.168.x.x | grep  | awk '{print $1}' |uniq > elk-index.tmp
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
142k --:--:-- --:--:-- --:--:-- 142k
[root@--- ~]# cat elk-index.tmp
otter-canal--2018.12.
logstash-nginx-chm-accesslog-2018.11.
logstash-nginx-oms-accesslog-2018.10.
laravel-chm248-online-2018.12.
otter-canal--2018.11.
logstash-nginx-oms-accesslog-2018.11.
otter-communication--2018.11.
otter-communication--2018.12.
otter-node--2018.12.
logstash-nginx-chvisa-accesslog-2018.10.
wanmei219-online-2018.10.
logstash-nginx-chm-accesslog-2018.11.
otter-canal--2018.11.
otter-canal--2018.11.
logstash-nginx-oms-accesslog-2018.11.
laravel-chm248-online-2018.11.
logstash-nginx-oms-accesslog-2018.12.
otter-manager--2018.12.
logstash-nginx-chvisa-accesslog-2018.11.
wanmei219-online-2018.12.
logstash-nginx-chvisa-accesslog-2018.11.
otter-communication--2018.11.
otter-communication--2018.11.
laravel-chm248-online-2018.11.
laravel-chm248-online-2018.10.
logstash-nginx-chm-accesslog-2018.12.
wanmei219-online-2018.11.
logstash-nginx-chvisa-accesslog-2018.12.
wanmei219-online-2018.11.
logstash-nginx-chm-accesslog-2018.10.

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

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

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

[root@--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@--x-x ~]# crontab -l
* * * bash /home/scripts/del_elasticseatch_index.sh

ELK批量删除索引的更多相关文章

  1. ELK批量删除索引 及 相关操作命令 - 运维小结

    线上部署了ELK+Redis日志分析平台环境, 随着各类日志数据源源不断的收集, 发现过了一段时间之后, ELK查看会原来越慢, 重启elasticsearch服务器节点之前同步时间也会很长,  这是 ...

  2. ElasticSearch.net NEST批量创建修改删除索引完整示例

    本示例采用Elasticsearch+Nest 网上查了很多资料,发现用C#调用Elasticsearch搜索引擎的功能代码很分散,功能不完整,多半是非常简单的操作,没有成型的应用示例.比如新增或修改 ...

  3. SQL Server 批量 删除表索引

    当旧的数据库中的数据几乎很少使用到的时候,索引又占用着较大的磁盘空间,数据又不能删除,又想节省磁盘空间. 这个时候可以将所有表的索引进行删除了(先创建索引备份脚本,以备需要还原),可以批量一起删除. ...

  4. ELK之elasticsearch删除索引

    参考文档:https://www.cnblogs.com/Dev0ps/p/9493576.html elasticsearch使用时间久了会产生大量索引占用磁盘空间,可以删除索引来释放 查看当前所有 ...

  5. ELK 脚本自动化删除索引

    kibana有自带接口,可通过自带的API接口 通过传参来达到删除索引的目的. # 删除15天前的索引 curl -XDELETE "http://10.228.81.161:9201/pa ...

  6. es故障节点恢复后加入集群导致删除索引重新出现

    es的每个shard下的文件都可以看做一个完整的lucene文件,shard数据目录下的segment文件包含了索引的分片数量,副本数量.es shard可以恢复,就是因为每个shard都包含了一份数 ...

  7. php链接数据库 批量删除 和 注册审核

    理解 :  hiden   value    session   name="a[]"         1.  form  表单上传的 value=" "值   ...

  8. StackExchange.Redis加载Lua脚本进行模糊查询的批量删除和修改

    前言 使用StackExchange.Redis没有直接相关的方法进行模糊查询的批量删除和修改操作,虽然可以通过Scan相关的方法进行模糊查询,例如:HashScan("hashkey&qu ...

  9. php数据访问(批量删除)

    批量删除: 首先给每一行加上复选框,也就是在自增长列内加入checkbox.因为这里可以多选,也可以单选,所以在传值的时候需要传一个数组来进行处理,所以复选框name的值设定一个数组.传值都是传的va ...

随机推荐

  1. .Net 面试题 汇总(四)

    1.简述 private. protected. public. internal 修饰符的访问权限.private : 私有成员, 在类的内部才可以访问.protected : 保护成员,该类内部和 ...

  2. [翻译] JTCalendar

    JTCalendar JTCalendar is a calendar control for iOS easily customizable. JTCalendar 是一个很容易定制的日历的控件. ...

  3. 封装NSMapTable并简易的使用

    封装NSMapTable并简易的使用 NSMapTable是弱引用的字典,可以用来存储对象,该对象消失了也没有关系,对于控制器越级跳转相当有用:) WeakDictionary.h 与 WeakDic ...

  4. js和java判断值为空的方式

    js方式判断值为空: name == ""; java方式判断值为空: name==null || name.trim().isEmpty();注:name==null要在前面,不 ...

  5. 映射函数map

    映射函数map 语法: map(function, iterable) 迭代对象中 的每一个元素进行映射, 分别执行function函数 例子:  ls =[1,2,3,4,5,6] def func ...

  6. 浅析Java CompletionService

    JDK的CompletionService提供了一种将生产新的异步任务与使用已完毕任务的结果分离开来的服务.生产者 submit 运行的任务.使用者 take 已完毕的任务,并依照完毕这些任务的顺序处 ...

  7. 虚机的SQL Server空间占满之后进行释放的一些操作

    用了好几年的一个虚机,数据库是SQL Server 2008,配额500M. 今天忽然发现无法录入数据,登录后台一看,原来是数据库容量满了. 很久没用SQL Server了,找到一段之前用过的收缩数据 ...

  8. 【[NOI2015]品酒大会】

    可能是最傻的做法了 暴力单调栈+\(st\)表 首先看到这道题就基本知道这是个\(SA\)了,先无脑敲上\(SA\)和求\(height\)的板子 之后尝试搞一下第一问 发现第一问就是求出满足\(lc ...

  9. glusterfs分布式文件系统

    第一:安装依赖包: yum install libibverbs librdmacm xfsprogs nfs-utils rpcbind libaio liblvm2app  lvm2-devel ...

  10. 《信息安全技术》实验二 Windows口令破解

    <信息安全技术>实验二 Windows口令破解 实验目的 了解Windows口令破解原理 对信息安全有直观感性认识 能够运用工具实现口令破解 实验环境 实验机Windows Server ...