Linux
確定 Linux 上管道損壞的根本原因?
我在一些伺服器上執行了一個 web 應用程序,這些伺服器的 Apache 日誌文件位於 OCFS2 SAN 卷上。內部 webapp 日誌記錄是使用 log4perl 在管道模式下完成的,在管道的另一端使用 cronolog 來處理日誌文件輪換。有時,就在午夜左右,當日誌文件輪換時,一些伺服器會遇到管道損壞,導致 Apache 無法登錄,並產生各種警報和壞事。
我想知道是否有辦法確定管道破裂的根本原因。DTrace 聽起來好像可以通過一些巧妙的程式實現,但我不確定。
有人有想法麼?
謝謝,
肯德爾
我的猜測是,如果 chronolog 正在記錄損壞的管道,那麼您可能有 logrotate 或其他一些與它競爭的旋轉器。
logrotate
通過關閉並重新打開其日誌文件來旋轉 apache 的日誌(這使得它在 logrotate 移動舊文件後創建新文件),這可能會破壞管道。您可以嘗試apache2ctl graceful
(這是 logrotate 在 debian 中使用的,您的發行版可能會有所不同)以查看這是否是觸發條件的原因。