Google等大公司如何存储他们的日志,以便信息可访问且有用?

时间:2015-03-12 15:29:57

标签: logging

我确信Google会从他们的系统中生成数PB的日志信息,如何存储并使其有用(我猜是可搜索的)?他们是否有将日志数据复制到某个集中式数据库的进程?他们如何最大限度地减少这些流程对生产系统的影响?

我想知道的原因是因为我正在尝试实现一些从PROD框中下载日志的过程,然后将其标准化并将其存储在另一个UAT /非PROD服务器上的mongodb中。这样它就是可查询的,我们可以从数据中生成分析。生产支持将不允许我们从UAT连接到PROD以下载原始日志。

我认为如果我们的应用程序直接存储在(远程)mongo实例中,它将对服务器的性能产生巨大影响。

1 个答案:

答案 0 :(得分:0)

我不知道Google的答案。但是对于滚动自己的日志管理系统确实有意见。从某些事情中获取日志要比其他事情困难得多,并且您将尝试自己创建不同程度的成功。

例如,应用程序日志应该真正来自应用程序的日志框架,以便可以捕获更多详细信息,如错误,上下文变量,Web请求信息等。大多数此类数据永远不会在记录到磁盘的简单文本文件中找到。

大多数商业日志管理产品甚至不能很好地跟踪应用程序错误,以便唯一地识别它们,以便跟踪和解决它们。 Stackify(http://stackify.com)是我所知道的唯一一个在执行日志管理的同时执行此操作的产品。它们通常是单独的工具。 您可能有兴趣查看LogEntries,Loggly等的其他工具(尽管如上所述,它们只会记录日志)

从同时部署到新服务器或向上和向下扩展的应用程序获取应用程序日志也会产生独特的挑战。