在大规模分布式系统中记录文件

Joh*_*ing 12 hpc distributed-computing

我在网格和HPC空间做了很多工作,我们在分布在数百个(或者在某些情况下是数千个)服务器上的系统面临的最大挑战之一就是分析日志文件.

当前日志文件本地写入每个刀片上的磁盘,但我们也可以考虑使用例如UDP Appender发布日志记录信息并在中心收集它.

鉴于目标是能够尽可能接近实时地发现问题,我们应该怎么做?

Joh*_*her 3

首先,使用 NTP 同步系统中的所有时钟。

其次,如果您在单个位置收集日志(例如您提到的 UDP 附加程序),请确保日志有足够的信息来提供实际帮助。我至少会包括生成日志的服务器、发生的时间和消息。如果存在任何类型的事务 ID 或作业 ID 类型概念,也请包括在内。

既然您提到了 UDP Appender,我猜测您正在使用 log4j (或其兄弟姐妹之一)。Log4j 有一个 MDC 类,允许通过处理线程传递额外信息。它可以帮助收集一些额外的信息并将其传递。