2

假设我有一个连续的日志条目流(例如防火墙日志),我需要一个能够处理事件流并对其进行实时计算的工具(例如计算来自不同 IP 地址的访问次数)时间窗口(例如 10 分钟)并在满足某些条件时触发警报(例如访问次数 > 100)。

我知道Storm ProjectInfluxDBOpenTSDBKairosDB,但除了 Strom 之外,它们看起来不像是为这种处理设计的工具。我的问题是,是否有人知道更适合此类工作的工具。

4

5 回答 5

3

您可以将消息(日志条目)提供给Kafka队列并将 Storm 与其集成,storm 和 kafka 之间有一个很好的集成,称为KafkaSpout,它是从 Kafka 集群读取的 spout。

要在一个时间窗口内进行实时处理,您可以检查Esper,它通常是一个复杂的事件处理单元 (CEP)。正如您提到的,对于进行事件流处理应该非常有用。

可以在这里找到 strom 和 esper 之间的集成。
和一个基本的Esper实现示例

于 2013-11-07T13:14:18.553 回答
1

值得一看Splunk。使用 Splunk,您可以实时监控和警报。它还支持实时搜索和分析功能。Splunk 基本上在可搜索的存储库中捕获、索引和关联实时数据,用户可以从中生成图形、报告、警报、仪表板和可视化,从最终用户的角度来看,这会容易得多。

于 2013-11-07T12:11:30.580 回答
1

我们将Storm(与 Kafka 结合使用)用于类似的工作,并且非常喜欢使用它。该工具生成的错误总是像人们希望的那样有用和具有描述性,但总的来说,一旦克服了这些错误,它就提供了一个非常可靠和强大的基础架构。

如果警报要求足够简单(不需要在事件之间关联、从其他资源获取数据等),那么直接使用 Kafka(或其他消息传递系统)甚至可能是有意义的。

在检查替代方案的同时,我们还对 S4(http://incubator.apache.org/s4/)进行了调查,但是,它似乎没有像 Storm 那样获得足够的动力。

Spark(https://amplab.cs.berkeley.edu/projects/spark-lightning-fast-cluster-computing/)主要针对hadoop的批处理,但也有针对流处理的倡议。

于 2013-11-07T11:37:43.887 回答
1

你可以看看EVAM。它具有基于场景的设计器,并且可以为同一流运行并行或顺序的多个场景。事件和动作生成一次完成,然后可以使用 GUI 拖放方法创建许多场景。

于 2016-11-21T18:16:55.297 回答
0

对于更面向操作的解决方案,您可以查看graylog。缺点是你没有像 Storm 这样的无限可能,所以你不能做的事情也不能编码(至少不容易,但它是开源的)。

此外,您可以很好地使用Centreon来获得更完整的解决方案。这完全取决于您的示例只是一个随机示例,还是您的实际用例(如果是这种情况,请查看操作工具,而不是编程工具。那里有大量的监控工具。)。

于 2013-11-07T14:25:55.000 回答