前言
使用預設的filebeat.yaml設定,
導致現在elasticsearch的log爆炸了。
連開都開不起來。
所以這次要解決兩個問題,
- 自動刪除舊的log
- 將log根據日期分配
經過一早上的研究,發現我想得跟我要解決的問題不一樣XDDD
所以本文會在探討ILM的設定
正文
有些觀念跟我想得不一樣,
下圖看到的 indices,是在elasticSearch(簡稱ES)上,
所建立的。
ES上的indices會長這樣
所以跟fileBeat沒有關係,fileBeat只負責把資料丟過去ES上。
當然裡面也有一些設定,等以後有空再來研究。
首先到 kibana的畫面,
到 Management 中去設定ILM
裡面的設定,請參考下面文章,
或是直接看英文也可以懂。
但最好先看一下文章,es的 indices 區分成三個階段,
改完設定後,並不會立即生效,只有當過度到下一個階段的時候,配置才會生效。
也就是說,如果你一直在 Hot phase,
那永遠不會執行你剛設定的參數。
但一當你進入Warm phase時,
你剛剛設定的參數就都會執行了。
另外在各個 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 才會出現。
設定完後,可以到 Dev Tools ,
- 查詢有哪些 indices
GET /_cat/indices
- 查indices狀態
將右邊的 indics,取代下面的url 。
這邊使用的 indices 名稱為 filebeat-7.15.0-2021.10.07-000001 ,如果要知道json內的內容意義,請參考下面連結『Explain lifecycle API'。
GET filebeat-7.15.0-2021.10.07-000001/_ilm/explain
- 啟動 ILM
POST /_ilm/start
ref.
- 喬叔教 Elastic - 11 - 管理 Index 的 Best Practices (3/7) - Index Lifecycle Management (ILM)
- 使用索引生命週期管理實現熱溫冷架構
- Explain lifecycle API
- Automatically delete old indices
跟這次的問題沒關係,但還是留個連結
- Filebeat harvester 的 file handler close 與 clean 機制
- filebeat進程寫滿磁盤的情況處理
- 一篇文章搞懂filebeat(ELK)
- Filebeat配置參考手冊]
0 意見:
張貼留言