寻找用于集中日志文件的“临时文件持有者”解决方案

寻找用于集中日志文件的“临时文件持有者”解决方案

我们有一个特定的子平台,其中有大约 900 个面向 Web 的 RHEL VM(如果有帮助的话,在 ESXi 4U2 上)。每个 VM 都运行一个自定义应用程序,该应用程序会记录到每个 VM 的文件中,我们不希望这些日志变得太大,因为我们希望 VM 很小。到目前为止,我们一直在做的是让每个 VM 将其文件放在共享 NFS 挂载中,每个文件都以 VM 命名。

这一直很有效,直到昨天,我们在运行 NFS 服务器的 NetApp 机箱中丢失了半个机架 - 尽管它全部是 RAID 的并且具有双控制器,但我们需要关闭整个系统才能交换机架(一个聚合器每个机架有多个成员)。此时虚拟机无法写入其日志,我们丢失了所有这些日志数据。

所以对于实际问题,我想要做的是让每个虚拟机都写入它们自己的本地文件(即在 .vmdk 中),然后有一个进程使用该本地文件的任何更新来更新中央 NFS 副本并清除本地文件,如果 NFS 已关闭,则不会发生这种情况,并且本地文件会变得越来越大,直到 NFS 恢复,此时它会更新中央副本然后清除本地副本。这有意义吗?

不管怎样,我都无法找到类似的东西,我很确定 rsync 也找不到,你有什么想法吗?

哦,我们正在重写应用程序以使用 syslog,但显然需要 3-6 个月的时间 :(

谢谢。

答案1

这个 simpy 可以在 logrotate 中使用 prerotate 或 postrotate 脚本来提供吗?

相关内容