我有一个 Apache httpd 服务器集群。这是一个负载平衡集群,其中所有节点都提供相同的共享内容。内容本身位于共享存储中。
我想将所有节点设置为将日志(服务器访问日志)记录到同一个日志文件(再次在同一个共享存储上),但我担心这会在生产环境中产生并发问题。
有谁知道为 httpd 集群设置日志记录的良好指南或建议?
答案1
我想说你的担心是正确的。Apache 子进程登录到同一个文件(或者如果你使用 ,则登录到同一个管道cronolog
)时,你已经遇到了瓶颈。
我的建议是要么记录到不同的文件(比如将主机名附加到文件末尾),然后稍后汇总这些文件。或者,如果您担心记录到网络存储设备的开销,请在本地记录,再次使用唯一的扩展名,然后在滚动文件后将文件 rsync 到中心位置,然后汇总。
答案2
使用 logresolvemerge.pl(AWstats 的一部分)(或者破解您自己的)。
就我个人而言,我会每隔一小时左右登录到每台服务器上的 ramdisk 并合并到文件中。