0

我有一个包含很多机器的分布式系统,每台机器都会产生日志,并且可以在其他机器上调用服务(也可以产生日志)。

我正在使用集中式日志服务(Logentries),我所拥有的是:

12:00:00 Server1 apache log
12:00:01 Server1 application log
12:00:01 Server1 apache log
12:00:02 Server2 Some service log
12:00:02 Server1 application log
12:00:03 Server2 Some service log

但我真正想要的是:

 12:00:00 Server1 apache
 12:00:01 Server1 application log
 12:00:02 Server2 Some service log

 12:00:01 Server1 apache
 12:00:02 Server1 application log
 12:00:03 Server2 Some service log

这些日志按起点(apache 日志)分组。

有什么解决方案可以做到这一点?我可以停止使用日志并使用其他日志管理 SaaS。

4

3 回答 3

1

Splunk Storm 和 Loggly 都是基于云的集中式日志记录 SaaS 产品。采用这种解决方案的原因对于两者都是相同的:

  • 在同一个地方查看所有日志。
  • 当您的服务器关闭时,不要丢失日志。
  • 能够搜索您的日志。
  • 花时间开发自己的产品而不是日志管理解决方案。

根据我自己对这些类型产品的调查:

  • Splunk Storm 在云中提供专用硬件。Loggly 是真正的多租户。
  • Loggly 允许您选择帐户范围的保留期。Splunk Storm 没有。
  • 您自己的日志数据中的临时爆发会减慢您在 Splunk Storm 中的索引。另一个客户的爆发会减慢您在 Loggly 中的索引。

为什么我不会选择其中任何一个:

  • 没有自定义保留
  • 您的所有数据都集中在一个地方(出售有关仪表板、多种产品等的期货)
  • 没有单一安装

免责声明:我在 OpsBunker Lumberjack 工作。我们将在今年晚些时候发布我们的测试版。我鼓励您访问我们的网站@www.opsbunker.com,以了解更多关于差异以及我们正在构建的内容。

于 2016-10-14T21:25:40.857 回答
0

您在日志中没有此信息,因此您无法按此分组。您可以生成一个 ID,可能是一个GUID,并将其与所有其他消息一起记录。这样你就知道执行路径了。

我不确定您的日志是如何发送到集中式系统的,但如果是异步的,如果您在不同的实例和服务之间跳转,您还需要为它提供一个逻辑时钟(灯时钟),因为其中的顺序他们到达中央服务器时可以改变。

于 2015-07-09T09:15:17.217 回答
-1

这可以通过使用具有强大分析功能的开箱即用的 ELK 堆栈轻松完成。您可以从 github 自行安装它或使用 Logz.io 的 ELK-as-a-service(免责声明:我为 Logz.io 工作)。

在主发现页面中,您可以按主机对事件进行排序。这将创造你想要的结果。

于 2015-07-09T04:50:46.500 回答