本技术播客(Podcast)由充满技术热情和好奇心的 Andrew Glover 来主持,他将会为您带来更多您会关系,且同时在业界也十分热门的内容和主题。
Loggly 服务网站的 CTO Jon Gifford 和 Andy 探讨了日志即服务(logging as a service)的概念以及它对日志管理和操纵的帮助。了解如何对如此之大的系统进行实时的控制和管理是一件十分">有趣的事情。同时,您会了解 Loggly 运营的细节、不同于其他服务和产品的地方以及它的未来发展方向。
Jon Gifford 是 Loggly 的 CTO 和首席架构师。很长一段时间,Jon 主要负责为很多公司编写和 Lucene 有关的代码。Jon 和他的合作伙伴目前在旧金山进行创业。
下面我们来看看Andrew Glover采访Jon Gifford的访谈内容:
GLOVER:我是 Andy Glover,这里是 developerWorks 播客的 Java技术系列。本期嘉宾是 Jon Gifford。他是 Loggly的首席技术官和联合创始人。 Jon,我觉得,从刚才询问您什么是 Loggly时,我们的谈话就已经开始了。
GIFFORD: Loggly是一个日志即服务系统。我们做的就是这个。每个人都有日志。日志无处不在。它们存在于您所拥有的每台机器上。它们包含了一些有价值的数据,也包含了一些不太有价值的数据。并且管理它们实在是一种痛苦。
所以,基本上,我们的产品是一种让您更好更简单地管理日志的方式,它提供一些工具,让您可以使用它们完成无法通过其他方式完成的事情。
所以,基本上您可以将我们看作一个这样的地方,它可以放置所有系统和事件中的所有日志,甚至,您还可以直接通过我们跟踪浏览器事件以及诸如此类的事情。所以这真的是......我们真的就是天空中的一个大日志倾卸场。
GLOVER:在天空中,是的。让我再问一个问题。所以,日志和输出两种日志的应用程序已经遍布全球,只要有计算机的地方就有它们。
GIFFORD: 是的。
GLOVER:但是,你们相对比较新。那么,是什么使你们突然决定,好吧,让我们组建一家公司来解决这个问题。为什么这个问题在之前没有解决呢?
GIFFORD: 我认为这个问题已经解决了。市场上有一大堆公司。在为您解决这个问题的公司中, Splunk 可能是最有名的。我们想要做的是尝试 ...尝试构建一个非常易于使用的系统,其中不会出现现有系统使用中的各种管理和让人头痛的问题。所以这就是我们在云中的原因。这就是为什么我们是一个服务,而不是一个下载的软件或设备 ......
GLOVER:好。
GIFFORD: ...这些也是解决这个问题的常见方法。但就我个人而言,真正促使我去做这件事的原因是,我专门从事搜索的工作已经有好长一段时间了;大约将近 15年。并且处理过各种大型系统,高端多达约 900 台机器,而在低端,对于有效的产品而言,实际上 Loggly可能是我在生产环境中使用过的最小的产品,它适用于 15到 20台机器。所以当您在处理那么多机器时,无论是在云中还是在您自己的“ colo”[或“coloc”;colocation center...编者注。 ]中,您都需要知道发生了什么事情。所以我一直做的这件事最终似乎是为自己编写这个系统,以监视所有的这些箱子,并驱动仪表板和您要做的所有其他事情,从而确保您作为开发人员可以保持理智,或者如果您有操作人员的话,使他们保持理智。
所以,对我来说,这其实就像,我有这个心病,也在其他一些工作中思考了很多次,它只是好像,您知道,如果我这一次能做好,我就不必再做这件事了。
GLOVER:就是这样。
GIFFORD: 所以,从某个角度来说,我想这是因为我比较懒。
GLOVER:这不正是我们作为开发人员的定义吗?我们懒惰? [大笑]
GIFFORD: 对。正是。所以,关于我们正在做的事情,单纯从技术角度来看,让我觉得有趣的另一件事情是,它是一个相当复杂的分布式系统,我喜欢从事这些系统的工作。我们使用我们自己的系统 ......或者说,我们记录我们自己的系统,也记录它自己。 [大笑]
实际上,为检查我们的生产服务器的状态,我们需要去查看一个 Loggly 实例,所有生产实例的所有日志都来到这个实例中。实际上,我们将它作为一个单独的实例来运行,这在以前看来有点异常。但基本上,在我们刚开始时,代码并不是像以前那么稳定,我想这一点不用说您都知道。 [大笑]
如果有东西在我们其中一个箱子中失败了,我们偶尔会在生产中剔除它。我们会将它移动到它自己的实例,然后一切都变得正常。因此,构建高度可扩展的系统是一种非常有趣的技术挑战。我想我必须说,我特别爱将搜索作为一种研究数据的方式。
GLOVER:是。
GIFFORD: 我想,我之前构建的很多像这样的系统已经有点侧重于度量。这太好了。它告诉了我各项任务的执行情况。但在出现问题时,它并不一定能给我很大的帮助,实际上我想找出是什么引起问题的时候。
而且我认为搜索对于解决这一问题也是一种特别强大的方法。所以每次利用 grep 和 awk,以及所有那些神奇的 ... Perl 和 Python,还有 Ruby 和所有那些神奇的东西,您可以使用它们从文本中提取信息。但我认为,在某些方面,我认为只是单纯的赤裸裸的搜索有很多好处,这些好处是您使用所有那些其他东西无法得到的。
GLOVER:我想提个问题,其实我想到了两个问题。希望我会记得住它们。第一个是,您提到过,它在云中是日志即服务。
GIFFORD:是的。
GLOVER:那么作为一个开发人员,这对于我来说意味着什么呢?我如何利用 Loggly?它如何工作?
GIFFORD: 好。基本上,我们有几种不同的方式使数据进入系统。如果您是一个开发人员,您希望给我们发送数据,那么您可以使用 Syslog,对于大多数人,至少大多数 UNIX开发人员则是 Syslog Appender。它是非常简单的协议,例如,您可以在 Java上执行它,您可以用一个 Syslog Appender 来执行它。
在其他语言中,还有直接记录到 Syslog的其他方式。如果您准备这样做,您只需要在您想记录的箱子上设置您的 Syslog Appender,并将日志转发给我们。这相当简单,并且是解决该问题的一种非常非常轻量的方式。
GLOVER:当您说 Syslog Appender时,我是说,这就像是 log4j,对吗?我只需要配置 log4j?
GIFFORD: Log4j。是。
GLOVER:没错。这是适用于 99% 的现有 Java应用程序的通用日志库。 [大笑]
GIFFORD: 没错。