ElasticSearch定時清理快取索引

2022-05-18 05:57:23 字數 1459 閱讀 8935

1. 背景:由於es的日誌索引每天都在增長,很快快取就吃不消了, 需要定期清理一下過期不用的索引, 在此使用定期刪除索引的方法

2. 指令碼 delete_es_indices_over_15_day.sh

#!/bin/bash

#刪除早於15天的es集群的索引

function

delete_indices() )

#擷取日期的前部分作為索引的名稱(後續需要替換-為., 然後和日期拼接起來成為乙個真正的索引名稱,用於刪除)

name=$(echo $)

echo

"name=$name date=$datevalue

"comp_date=`date -d "

15 day ago

" +"

%y-%m-%d"`

date1="

$datevalue 00:00:00

"date2="

$comp_date 00:00:00

"t1=`date -d "

$date1

" +%s`

t2=`date -d "

$date2

" +%s`

if [ $t1 -le $t2 ]; then

echo

"$1時間早於$comp_date,進行索引刪除

"#轉換一下格式,將類似www-test-com格式轉化為www.test.com

format_name=`echo $name| sed

's/-/\./g'`

#轉換一下格式,將類似2020-10-01格式轉化為2020.10.01

format_date=`echo $datevalue| sed

's/-/\./g'`

#拼接成索引名稱

indexname="

$format_name-$format_date

"#刪除索引

"$indexname刪除成功"fi

}#注意, 由於我的日誌都是包含有"com-"的字串,故使用該字串模糊查詢索引列表

do#呼叫索引刪除函式, 結果列印到日誌

delete_indices $line >> /home/logs/delete_indices.log

done

3. crontab定時配置,每天1點定時刪除

0

1 * * * sh /home/delete_es_indices_over_15_day.sh

elasticsearch定時刪除索引

刪除索引的命令 curl xdelete curl xdelete es定時刪除索引步驟 vi usr sxy es index clear.sh 內容如下 刪除三天前的索引 建索引時格式為es yyyy.mm.dd 例如index es last data date d 3 days y.m.d ...

elasticsearch配置詳解

elasticsearch的config資料夾裡面有兩個配置檔案 elasticsearch.yml和logging.yml,第乙個是es的基本配置檔案,第二個是日誌配置檔案,es也是使用log4j來記錄日誌的,所以logging.yml裡的設定按普通log4j配置檔案來設定就行了。下面主要講解下e...

誰在使用Elasticsearch

github github使用elasticsearch搜尋20tb的資料,包括13億的檔案和1300億行的 這個不用介紹了吧,碼農們都懂的,github在2013年1月公升級了他們的 搜尋,由solr轉為elasticsearch,目前集群規模為26個索引儲存節點和8個客戶端節點 負責處理搜尋請求...