Elasticsearch索引定时清理
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
以上是关于Elasticsearch索引定时清理的主要内容,如果未能解决你的问题,请参考以下文章