elasticsearch索引自動清理


一 es 基本操作

  查看所有的索引文件:
  curl -XGET http://localhost:9200/_cat/indices?v

 

GET /_cat/indices?v


DELETE /filebeat-2018.07.21

 

 

二  掛crontab定時刪es數據 

#!/bin/bash
# filename:deleteEsData.sh
# 每天2點定時刪除es中指定日期的數據
# crontab: 0 2 * * * sh /Application/enterprise/deengine/deleteEsData.sh >> /Application/enterprise/deengine/run.log 2>&1
# 如今天是2015-09-09,刪除3天前數據,就是刪除2015-09-06的數據
# createdate: 20150909
# author: yuanlong.zhou
today=`date +%Y-%m-%d`;
echo "今天是${today}"
# 獲得要刪除的日期
# 不指定參數時,默認刪除30天前以aaa-開頭的數據(因為是凌晨刪除,所以不含當天)
daynum=5
# 當參數個數大於1時,提示參數錯誤
if [ $# -gt 1 ] ;then
        echo "要么不傳參數,要么只傳1個參數!"
        exit 101;
fi
# 當參數個數為1時,獲取指定的參數
if [ $# == 1 ] ;then
        daynum=$1
fi
esday=`date -d '-'"${daynum}"' day' +%Y-%m-%d`;
echo "${daynum}天前是${esday}"
curl -XDELETE http://localhost:9200/aaa-*-${esday}
echo "${today}執行完成"
# echo curl -XDELETE http://localhost:9200/aaa-*-${esday}

 

 三 logstash 安裝multiline

 /bin/logstash-plugin.bat  install  logstash-filter-multiline

 配置如下:

filter {
multiline {
pattern => "^\d{4}-\d{1,2}-\d{1,2}\s\d{1,2}:\d{1,2}:\d{1,2}"
negate => true
what => "previous"
}

}

 四  windows啟動logstash(6.2.3)報找不到或無法加載主類問題解決

錯誤信息:

解決辦法:

editplus或其他工具打開logstash.bat,找到這行內容

給%CLASSPATH%加上雙引號,內容如下:

%JAVA% %JAVA_OPTS% -cp "%CLASSPATH%" org.logstash.Logstash %*

保存重啟即可,但有可能你再下次重啟時出現如下錯誤:

該錯誤原因應該是當前logstash安裝目錄包含空格造成的,兩種解決辦法

第一種方法. 修改logstash的安裝目錄

第二種方法. 打開logstash.bat,找到如下內容

修改目錄:"%LS_HOME%\logstash-core\lib\jars\*.jar" 為其他目錄,別忘了把文件也拷貝過去,如:

for %%i in ("E:\logstash-core\lib\jars\*.jar") do (
call :concat "%%i"
)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM