Elasticsearch索引定时清理

问题

近期,kibana页面上出现Elasticsearch plugin is red错误信息,重启elasticsearch后又频繁出现该问题,观察elasticsearch发现各节点之间出现连接超时的现象.

解决方法

怀疑是索引条目太多,导致Elasticsearch性能下降造成的,通过查询api发现大量索引是yellow状态:
curl -XGET ‘http://127.0.0.1:9200/_cat/indices/?v

yellow open   user_audit-2018-08-08 Lx5YlsSxSDW7Z6dKwHLy4Q   5   1        159            0    265.5kb        265.5kb
yellow open   user_audit-2018-04-18 Rz7opEo7Tn-mfBsc0SyrDg   5   1        619            0    614.6kb        614.6kb
yellow open   net_switch-2017-11-18 7RZBwJGES1Ck2SI6Zsc_mA   5   1      16504            0      3.7mb          3.7mb
yellow open   user_audit-2018-06-07 _mapb6GpRkKP4bNqxI0tkg   5   1        130            0    212.4kb        212.4kb
yellow open   net_switch-2018-02-02 HL-saNdaSiuvDBfLyGNgrg   5   1        190            0    246.1kb        246.1kb
yellow open   user_audit-2018-01-05 BXO_atQmTl-ud_KCiHnSvw   5   1        288            0    309.1kb        309.1kb
yellow open   user_audit-2018-04-11 lDn7O9ZcRoKO4NwPArPcWg   5   1        166            0      243kb          243kb
yellow open   net_switch-2018-03-29 F7UeMBvZTou1n0OeZJjbyg   5   1        191            0    334.2kb        334.2kb
yellow open   domain_log-2018-07-07 b2hg9sIFSE-Pm6DHom7Q6Q   5   1   11742465            0      5.3gb          5.3gb
yellow open   user_audit-2018-05-12 g1q6jrWtQYaagoUbSigRsw   5   1         23            0    185.4kb        185.4kb
yellow open   net_switch-2018-05-16 yQL5rwlvQD2whqASws1Yaw   5   1        182            0    311.2kb        311.2kb
yellow open   domain_log-2018-08-27 7kM3sl0nTNOPN0XbwmYULw   5   1   13788549            0      6.7gb          6.7gb
yellow open   domain_log-2018-07-06 hb5ZL-Z1Rk6DyhYXTBGnrw   5   1   10434848            0      4.8gb          4.8gb
yellow open   domain_log-2018-05-12 0Q8uLeSVTtW7GyGJNdd5FA   5   1   10753882            0      5.6gb          5.6gb
yellow open   user_audit-2018-05-22 ryLHjAhNS2-5kjqRjccH_A   5   1        653            0      680kb          680kb
yellow open   user_audit-2018-07-23 DSGn1gXTQaub35FS34z28g   5   1         36            0    235.1kb        235.1kb
yellow open   domain_log-2018-03-02 H54jaFt2Rgq-ktC81tROJw   5   1   17530752            0        9gb            9gb

一、api删除

curl -XDELETE ‘http://127.0.0.1:9200/domain_log-2018-*‘
清理掉了所有 2018年domain的索引文件

二、脚本加api删除(推荐)

cat ES-index-clear.sh

#/bin/bash
#指定日期(7天前)
DATA=`date -d "1 week ago" +%Y-%m-%d`

#当前日期
time=`date`

#删除7天前的日志
curl -XGET "http://127.0.0.1:9200/_cat/indices/?v"|grep $DATA
if [ $? == 0 ];then
  curl -XDELETE "http://127.0.0.1:9200/*-${DATA}"
  echo "于 $time 清理 $DATA 索引!"
fi

三、添加到任务计划

#每天定时清理索引
0 1 * * * /bin/sh /root/shscript/ES-index-clear.sh >> /root/shscript/log/es-index-clear.log

原文地址:http://blog.51cto.com/fengjicheng/2310777

时间: 2024-10-12 19:11:10

Elasticsearch索引定时清理的相关文章

linux 日志定时清理脚本

工作中经常会碰到服务日志占满服务器磁盘,如果不去清理,服务就可能无法正常工作.适当提高日志的打印级别,如info级别提高到warn可以临时缓解下,但也不长久之际, 还得写个脚本定时清理下. #!/bin/bash #clearLog.sh nginxDir=/usr/local/nginx/logs/* devInfo=($(df -l | awk '{print $1}')) #日志所处的磁盘 perInfo=($(df -l | awk '{print int($5)}')) #磁盘使用率

ElasticSearch 索引

ElasticSearch 索引 这是ElasticSearch 2.4 版本系列的第三篇: 第一篇:ES1:Windows下安装ElasticSearch 第二篇:ES2:ElasticSearch 集群配置 第三篇:ES3:ElasticSearch 索引 ElasticSearch是文档型数据库,索引(Index)定义了文档的逻辑存储和字段类型,每个索引可以包含多个文档类型,文档类型是文档的集合,文档以索引定义的逻辑存储模型,比如,指定分片和副本的数量,配置刷新频率,分配分析器等,存储在索

cleanmymac定时清理与垃圾监测

cleanmymac是一款非常智能并且人性化的Mac清理软件,为了保持Mac清洁,我们可以事先设置好“提醒我定时清理”和“可用空间小于此值时警告”,这样就不会忘记清理Mac了. 提醒我定时清理 是不是经常会忘记清理Mac?那也没关系,cleanmymac可以设置定时清理.启动软件,在“偏好设置”-“计划程序”中,我们可以看到“提醒我定时清理”,它提供了多种不同的定时时间,可根据需要进行选择,包括从不.每周一次.每两周一次.每月一次.每三个月一次.每六个月一次和每年一次. 软件默认为每两周一次,我

oracle定时清理日志操作

下面介绍下oracle下定时清理归档日志文件操作. 假设:归档日志满,清空归档日志办法如下. 第一步:在c盘下面建立一个RMAN_DEL.txt文件 第二步:做一个批处理文件,名为:RAMN_DEL.bat 放在c盘的根目录.文件内容如下所示: 第三步:添加一个任务计划: 执行步骤如下图所示,任务计划出来后点击下一步设置参数即可. 以上为window下执行计划任务定时删除归档日志方法.如果是linux请操作本人写的linux定时任务操作.版权所有.转载请说明出处.

定时清理两周前的分区上的数据

DECLARE @NEW_P INT DECLARE @P INT SELECT @NEW_P=DATEPART(DAYOFYEAR,CONVERT(DATETIME,GETDATE())) DECLARE BOUNDARY_ID_PARTSCHEME_DAY CURSOR FOR --控制top的值控制清除的时间 SELECT TOP 339 SORV.boundary_id FROM sys.partition_schemes SPS LEFT JOIN sys.partition_rang

linux-实现日志的定时清理

定时清理分2步骤 1.查找出需要清理的文件 2.系统增加定时执行任务 第一步.vi dellog.sh 第二步.查找需要清理的文件 录入:find /var/log/nginx -mtime +7 -type f -name \*.log | xargs rm -f 其中 -mtime +7,为查找7天前的文件 http://blog.sina.com.cn/s/blog_716358dc0100lj5p.html -type f ,类型为文件 http://zhidao.baidu.com/l

定时删除日志文件---linux定时清理日志

linux是一个很能自动产生文件的系统,日志.邮件.备份等.虽然现在硬盘廉价,我们可以有很多硬盘空间供这些文件浪费,让系统定时清理一些不需要的文件很有一种爽快的事情.不用你去每天惦记着是否需要清理日志,不用每天收到硬盘空间不足的报警短信,想好好休息的话,让我们把这个事情交给机器定时去执行吧. 1.删除文件命令: find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} \; 实例命令: find /opt/soft/log/ -mtime +30

mysql定时清理binlog

一.没有主从同步的情况下清理日志 mysql -uroot -p123456 -e 'PURGE MASTER LOGS BEFORE DATE_SUB( NOW( ),INTERVAL 5 DAY)'; #mysql 定时清理5天前的binlog mysql -u root -p #进入mysql 控制台 reset master; #重置binlog 二.MySQL主从同步下安全清理binlog日志 1.mysql -u root -p #进入从服务器mysql控制台 show slave

定时清理docker私服镜像

定时清理docker私服镜像 使用CI构建docker镜像进行发布极大促进了大家的版本发布效率,于是镜像仓库也就急速膨胀.为了缓解磁盘压力,我们需要设置一些清理策略. 对于不同docker镜像的清理策略应该是不同的.比如,默认保留最近5个版本的镜像,对于工具类的image保留全部,对于业务类的image保留一个月之类的. 简单保留5个image的方式如下: 下载https://github.com/mlabouardy/nexus-cli, 使用cli来执行删除. 下载 wget https:/