一、存在问题

用了一段时间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. 要提高SQL查询效率where语句条件的先后次序应如何写

    我们要做到不但会写SQL,还要做到写出性能优良的SQL语句. (1)选择最有效率的表名顺序(只在基于规则的优化器中有效): Oracle的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句 ...

  2. Fuckey V1.0 Beta版发布!!!

    Fuckey,以前叫FullNexus4,只因为当时想做一个软件给自己的Nexus 4,方便方便一下,不过这名字感觉太局限了,毕竟很多朋友不是使用的Nexus 4的手机,但却还是使用了FullNexu ...

  3. C++项目规范

    https://segmentfault.com/a/1190000007659754

  4. 记Git报错-Everything up-to-date

    文:铁乐与猫 今天git push 到github远程仓库的时候,出现报错"Everything up-to-date",严格来说也不算报错,它只是在告诉你,提交区所有的东西都是最 ...

  5. laravel 资料

    1.http://maxoffsky.com/maxoffsky-blog/building-a-shop-with-laravel-tutorial-series-announcement/  一篇 ...

  6. 更改Request Parameters中的值

    1. 定义ParameterRequestWrapper 继承HttpServletRequestWrapper public class ParameterRequestWrapper extend ...

  7. SPL 笔记

    PHP  SPL是指 standard  php library,php标准库. SPL提供了一系列的类和接口,使用这些类和接口,我们可以更加高效.优雅的使用php进行程序设计.   从php5.0开 ...

  8. 【错误记录】python logging日志打印俩次的原因

    有一个原因是因为同一个handler被添加了俩次 applogger = loggerfactory.LoggerFactory.init_app_logger()perflogger = logge ...

  9. unittest中setUp与setUpClass执行顺序

    最基础的概念 1.setUP(self)看下面的执行顺序 import unittest class TestGo(unittest.TestCase): def setUp(self): print ...

  10. 【转】如何在VMware上安装macOS Sierra 10.12

    本文主要介绍目前网络上比较流行的使用预安装镜像安装macOS 10.12的方法,并以9月20号发布的最新GM版本16A323为例. 安装方案 破解VMware 创建虚拟机,加载预安装镜像 初始化mac ...