Graylog: 處理保留
如何配置日誌保留
👋 歡迎來到 Stackhero 文件!
Stackhero 提供即用型的 Graylog cloud 解決方案,帶來多項好處,包括:
- 包含無限和專用的 SMTP 電郵伺服器。
- 只需一鍵即可輕鬆更新。
- 使用 HTTPS 保護的可自訂域名(例如,https://logs.your-company.com)。
- 由專用私有 VM提供的最佳性能和強大安全性。
節省時間並簡化您的生活:只需 5 分鐘即可嘗試 Stackhero 的 Graylog cloud hosting 解決方案!
保留定義了在 OpenSearch 數據庫中存儲的消息數量。您可以根據消息數量、最大年齡或整體大小限制來配置保留。
例如,您可以選擇保留過去 365 天的消息,保留最多 2 億條消息,或預留總共 400 GB 的存儲空間。
理解索引
在定義保留策略之前,了解 Graylog 和 OpenSearch 使用的索引如何運作是很重要的。可以將索引視為實體容器。Graylog "打開" 一個容器(索引),並將進入的消息放入其中。當分配給該容器的配額超過時,容器會被關閉,存放在架子上,並為後續消息啟動一個新容器。
您可以使用不同的標準設置此配額:
- 消息數量:"每個容器保留 2 千萬條消息,然後啟動一個新容器。"
- 時間限制:"使用一個容器 10 天,然後切換到新容器。"
- 大小限制:"每個容器存儲 20 GB,然後轉到新容器。"
還定義了可以存放在架子上的最大容器數量。如果超過此數量,最舊的容器將自動刪除。例如,如果您設置最大 20 個容器,而架子上有 22 個,則最舊的 2 個容器將被刪除。
在這個比喻中,容器代表索引,架子是 OpenSearch,最大數量代表允許的索引數量。
選擇輪換策略
Graylog 提供三種保留策略:
- "Index time" 定義每個索引中消息保留的最長時間,例如每個索引 14 天。
- "Index message count" 設置每個索引的最大消息數量,例如每個索引 2 千萬條消息。
- "Index size" 限制索引的最大大小,例如每個索引 40 GB。
您可以根據具體需求選擇其中一種策略。例如,選擇 "Index time" 可確保您始終擁有過去 X 天的日誌。
請小心準確估算您的磁碟存儲需求。
例如,如果您每天存儲 1 GB 的日誌並決定保留過去 365 天的日誌,您將需要 365 GB 的磁碟空間。請記住還必須預留額外的操作空間(見下文)。
定義保留參數
默認情況下,Graylog 將索引數量限制為 20。您可以根據需要調整此值。例如,如果您希望存儲過去 365 天的日誌,您可以通過將 365 天除以 20 個索引來分配保留,這大約是每個索引 19 天。
您可以對其他策略進行類似的計算:
- 對於 "Index message count" 策略:如果您希望保留 2 億條消息,最多 20 個索引,那麼 2 億條消息除以 20 個索引就是每個索引 1 千萬條消息。
- 對於 "Index size" 策略:如果您希望維持 400 GB 的日誌,最多 10 個索引,那麼 400 GB 除以 10 個索引就是每個索引 40 GB。
我們建議始終保留至少 15 GB 的空閒磁碟空間以存放日誌、Graylog 的日誌和 MongoDB 數據。
如果空閒磁碟空間耗盡,OpenSearch 將阻止其操作,您可能需要升級到更大的實例。
配置保留策略
要配置保留策略,請導航到 Graylog 界面。在 "System" 下選擇 "Indices",然後在 "Default index set" 中點擊 "Edit" 按鈕。
在下面的示例中,配置設置了最多 27 個索引,每個索引保留 14 天的日誌。此設置大約保留了一年的日誌(378 天)。
我們不建議每個索引保留超過 14 天的消息。
保留配置以保留一年的日誌
當選擇 "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 將自動返回到讀寫模式。