Graylog: 處理保留政策
如何設定日誌保留政策
👋 歡迎來到 Stackhero 文件!
Stackhero 提供即用型的 Graylog cloud 解決方案,帶來多項好處,包括:
- 包含無限和專用的 SMTP 電郵伺服器。
- 只需一鍵即可輕鬆更新。
- 使用 HTTPS 保護的可自訂域名(例如,https://logs.your-company.com)。
- 由專用私有 VM提供的最佳性能和強大安全性。
節省時間並簡化您的生活:只需 5 分鐘即可嘗試 Stackhero 的 Graylog cloud hosting 解決方案!
保留政策(Retention)定義了在 OpenSearch 資料庫中儲存的訊息數量。您可以根據訊息數量、最大保存時間或總儲存容量來設定保留政策。
例如,您可以選擇保留過去 365 天的訊息、最多保留 2 億條訊息,或預留總共 400 GB 的儲存空間。
認識索引(Indices)
在設定保留政策之前,了解 Graylog 和 OpenSearch 所使用的索引運作方式非常重要。可以將索引想像成實體容器。Graylog 會「打開」一個容器(即一個索引),並將收到的訊息放入其中。當這個容器的配額被超過時,該容器會被關閉、存放到架上,然後為後續訊息開啟一個新容器。
您可以根據不同的標準來設定這個配額:
- 訊息數量:「每個容器最多保留 2,000 萬條訊息,然後啟動新容器。」
- 時間限制:「每個容器使用 10 天,然後切換到新容器。」
- 容量限制:「每個容器儲存 20 GB,然後換下一個。」
同時也會設定可存放在架上的最大容器數量。如果超過這個數量,最舊的容器會自動被刪除。例如,若您設定最多 20 個容器,但架上已有 22 個,則最舊的 2 個容器會被移除。
在這個比喻中,容器代表索引,架子代表 OpenSearch,而最大數量則是允許的索引數量。
選擇輪替策略(Rotation Strategy)
Graylog 提供三種保留策略:
- 「Index time」:定義每個索引中訊息的最大保存天數,例如每個索引 14 天。
- 「Index message count」:設定每個索引的最大訊息數,例如每個索引 2,000 萬條訊息。
- 「Index size」:限制每個索引的最大容量,例如每個索引 40 GB。
您可以根據實際需求選擇其中一種策略。例如,選擇「Index time」可以確保您始終擁有過去 X 天的日誌。
請務必準確評估您的磁碟儲存需求。
例如,若您每天儲存 1 GB 日誌並希望保留過去 365 天的日誌,則需要 365 GB 的磁碟空間。請記得還需預留額外的運作空間(詳見下文)。
設定保留參數
Graylog 預設將索引數量限制為 20。您可以根據需求調整這個數值。例如,若您想保留過去 365 天的日誌,可以將 365 天平均分配到 20 個索引,即每個索引約 19 天。
其他策略也可以用類似方式計算:
- 「Index message count」策略:若要保留 2 億條訊息,最多 20 個索引,則每個索引需保留 1,000 萬條訊息(2 億 ÷ 20)。
- 「Index size」策略:若要保留 400 GB 日誌,最多 10 個索引,則每個索引需 40 GB(400 GB ÷ 10)。
建議您始終預留至少 15 GB 的磁碟空間給日誌、Graylog 的 journal 及 MongoDB 資料。
如果磁碟空間用盡,OpenSearch 會停止運作,您可能需要升級到更大容量的實例。
設定保留政策
要設定保留政策,請進入 Graylog 介面。在「System」選單下選擇「Indices」,然後在「Default index set」點擊「Edit」按鈕。
以下範例設定了最多 27 個索引,每個索引保留 14 天的日誌。這樣可大約保留一年的日誌(378 天)。
我們不建議每個索引保留超過 14 天的訊息。
Retention configuration to keep logs for a year
當選擇「Index time」作為輪替政策時,您需要使用 ISO8601 Duration 標準來定義保存期間。
例如,「P7D」代表 7 天,「P14D」代表 14 天,依此類推。
進階閱讀
如果您想進一步了解索引,強烈建議您參閱 官方文件。
處理 OpenSearch 只讀索引錯誤
有時 OpenSearch 會切換到只讀模式,您可能會遇到以下錯誤:
- "Flood stage disk watermark exceeded, all indices on this node will be marked read-only"
- "FORBIDDEN/12/index read-only / allow delete (api)"
這些錯誤是 OpenSearch 在磁碟空間嚴重不足時的保護機制。當可用磁碟空間低於 7 GB 時,OpenSearch 會將索引設為只讀,以防止資料損毀。
遇到這些錯誤時,您有兩個選擇:
- 重新設定保留政策以減少保留的日誌數量。調整政策後,刪除最舊的索引以釋放磁碟空間,讓 OpenSearch 回復為可讀寫模式。請注意,刪除索引會導致該索引內的所有資料永久遺失。
- 升級到更大磁碟容量的實例。在 Stackhero 控制台只需一鍵即可升級,實例會自動重啟並擁有更多磁碟空間,OpenSearch 也會自動回復為可讀寫模式。