Kibana7.6.2設置elasticsearch索引過期時間,到期自動刪除

一、背景

ELK系統裏面存放了大量日誌索引,只需要保留15天的日誌索引,希望到期自動刪除對應的索引;
本文的解決方案是給索引添加生命週期策略,不需要手動設置定時器去調用api刪除;

二、設置索引生命週期策略(ILM)

  1. 創建一個新的策略
  2. 記得關掉熱階段的滾動更新
  3. 開啓刪除階段,設置過期時間,快照可以不用

三、手動給索引設置刪除策略

如圖

四、查看結果
如果過期時間比較短,像我這裏測試是2分鐘,會顯示當前階段是delete;
如果過期時間比較長,例如15天,則會出現hot階段,具體原因查看文章末尾的官方鏈接;
到了delete階段,過幾分鐘就會被刪除了

五、自動給索引添加刪除策略
但是實際項目中日誌索引是自動生成的,那應該怎麼自動添加刪除策略呢?
我這裏使用的是logstash7.9.2把日誌文件傳到elasticsearch中,默認情況下logstash會有一個索引創建模板,如圖

默認情況下是沒有ILM策略的,我們給它設置剛剛創建的策略,這樣通過logstash傳輸創建的索引就會附帶ILM策略;

當然還有一種方法是在logstash的output模塊中設置,感興趣可以查看官方文檔
https://www.elastic.co/guide/en/logstash/current/plugins-outputs-elasticsearch.html#plugins-outputs-elasticsearch-ilm_enabled

六、參考

  1. 官方文檔,大讚,寫得很好很詳細
    https://www.elastic.co/guide/en/elasticsearch/reference/7.9/index-lifecycle-management.html
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章