合并来自集群架构的日志

Combining logs from a cluster architecture

我一直在寻找解决方案来合并来自负载平衡架构的日志,以便我可以有效地调试服务器错误或访问日志。截至目前,我需要单独检查每个网络节点。任何开箱即用的解决方案都很好。

有许多 OOTB 工具——商业和 FOSS——可以收集 您的日志并提供一个界面来可视化和搜索它们。为了 源码,看看 logstashfluentd,您可以自行托管(如果 您还没有准备好离开您的日志记录)。

到目前为止,您可能一直在每台服务器上搜索日志文件。一种 对此的简单改进是一个并行执行的小脚本 跨机器。我偶尔会使用 "telegrep" 脚本执行此操作 被称为:

% TG_REMOTES=app1:app2:app3
% telegrep somepattern /path/to/monster.log.gz

脚本本质上是将模式和文件传递给ssh进行循环 所有 TG_REMOTES,例如:

for svr in TG_REMOTES; do ssh $svr "zgrep --some-options... $pattern $logfile"; done