确定在Linux上损坏pipe道的根本原因?

我有一个在一些OCFS2 SAN卷上有Apache日志文件的服务器上运行的webapp。 内部webapp日志logging是使用pipe道模式下的log4perl完成的,在pipe道的另一端使用cronolog来处理日志文件的旋转。 有时,在午夜左右,当日志文件被轮换时,一些服务器会遇到一个坏的pipe道,这使Apache无法login,并产生各种警报和坏事。

我想知道是否有办法确定pipe道破裂的根本原因。 DTrace听起来像是可以做到的,有一些聪明的编程,但我不确定。

有人有主意吗?

谢谢,

肯德尔

我的猜测是,如果chronologlogging损坏的pipe道,那么可能你有logrotate或其他一些rotator与之竞争。 logrotate通过closuresapache的日志并重新打开其日志文件(这使得它在logrotate移动旧日志文件之后创build新文件),这可能会破坏pipe道。 你可以尝试apache2ctl graceful (这是什么logrotate在debian中使用,你的分布可能会有所不同),看看是否是什么触发条件。