設定時的注意事項 記載代理程式

當您設定 IBM® Cloud Logs 記載代理程式 時,您需要瞭解日誌是如何處理的,以及變更預設設定可能會導致丟失日誌。

若要利用最佳的日誌處理功能,同時減少遺失資料的可能性,您需要執行最新的 記載代理程式 版本。 本資訊假設您正在執行 記載代理程式 1.6.1 或更新版本。

重試限制

根據預設,如果發生錯誤,記載代理程式 會設定為持續重試傳送記錄,直到成功為止。 預設行為由 retryLimit: false 參數配置。 在 Kubernetes 中,這在 記載代理程式 configmap 中管理,而在 Linux 環境中,則在 記載代理程式 config 檔案中。

如果您變更預設 retryLimit 值,就有可能造成資料丟失。 例如,retryLimit: "no_retries" 表示 記載代理程式 在發生錯誤時完全不重複發送日誌。 指定一個整數值,例如 retryLimit: 8,表示 記載代理程式 在丟棄日誌之前重試傳送指定次數 (8) 的日誌。

有關 Fluent Bit 如何排程重試間隔的資訊,請參閱 排程和重試。

流暢位元緩衝

記載代理程式 預設設定為使用 Fluent Bit filesystem 緩衝。 此設定表示 記載代理程式 所處理的日誌會保留在檔案儲存中,以防系統故障。 記載代理程式 重新啟動時,會處理 filesystem 緩衝區中的日誌。

如果您將配置變更為使用 memory 緩衝,並且發生 記載代理程式 終止或意外終止的問題,則 memory 緩衝區中的日誌可能會丟棄。

如需詳細資訊,請參閱 緩衝與儲存

日誌旋轉

如果環境在 記載代理程式 能夠處理日誌檔案之前輪流處理日誌檔案,就有可能會丟失日誌。 如果 記載代理程式 停止運行相當長的時間,可能會發生由於日誌旋轉而造成的資料丟失。

Kubernetes

在 IBM 管理的群集中,/var/log/containers 中的所有 stdout 容器日誌檔案都由 kublet 管理。 每個容器日誌檔案的大小達到 100MiB 時,就會進行輪換。 輪換後,每個容器最多保留 3 個記錄檔。 這些檔案的大小和數量無法設定。

如果日誌檔案在 記載代理程式 處理資料之前就已填滿並輪轉,未處理的日誌可能會被丟棄。

Linux

日誌旋轉處理可在 Linux 中設定。 例如,使用 logrotate 工具。

如果日誌檔案在 記載代理程式 處理資料之前就已填滿並輪轉,未處理的日誌可能會被丟棄。

Windows

日誌旋轉處理可在 Windows 中設定。 但是,目前還沒有內建的 Windows 工具可用於日誌旋轉。 協力廠商應用程式或內建的應用程式設定,可用來設定日誌旋轉。

如果日誌檔案在 記載代理程式 處理資料之前就已填滿並輪轉,未處理的日誌可能會被丟棄。