ILM 設定

前言

使用預設的filebeat.yaml設定,
導致現在elasticsearch的log爆炸了。
連開都開不起來。
所以這次要解決兩個問題,

  1. 自動刪除舊的log
  2. 將log根據日期分配

經過一早上的研究,發現我想得跟我要解決的問題不一樣XDDD

所以本文會在探討ILM的設定

正文

有些觀念跟我想得不一樣,
下圖看到的 indices,是在elasticSearch(簡稱ES)上,
所建立的。

ES上的indices會長這樣

52-fig.1.jpg

所以跟fileBeat沒有關係,fileBeat只負責把資料丟過去ES上。

當然裡面也有一些設定,等以後有空再來研究。

首先到 kibana的畫面,
到 Management 中去設定ILM
52-fig.2.jpg

裡面的設定,請參考下面文章,
或是直接看英文也可以懂。

但最好先看一下文章,es的 indices 區分成三個階段,
改完設定後,並不會立即生效,只有當過度到下一個階段的時候,配置才會生效。

也就是說,如果你一直在 Hot phase,
那永遠不會執行你剛設定的參數。

但一當你進入Warm phase時,
你剛剛設定的參數就都會執行了。

52-fig.3.jpg

另外在各個 phase ,能做的事情也都不一樣。

Index Lifecycle Management 的階段 此階段中可以執行的操作有什麼
Hot Force merge, Rollover, Set priority, Unfollow
Warm Allocate, Force merge, Read only, Set priority, Shrink, Unfollow
Cold Allocate, Freeze, Set priority, Unfollow
Delete Delete, Wait for snapshot

像要刪除 indices 的話,就必須要到 Delete phase的階段才可以。

ps. 如果發現沒有看到 delete phase,
要先把下圖的開關切換過去,delete phase 才會出現。
52-fig.4.jpg

設定完後,可以到 Dev Tools ,

GET /_cat/indices

52-fig.5.jpg

GET filebeat-7.15.0-2021.10.07-000001/_ilm/explain

52-fig.6.jpg

POST /_ilm/start

ref.

跟這次的問題沒關係,但還是留個連結


curator