是否有集群的java监控/警报框架?

时间:2014-09-22 17:09:03

标签: java monitoring snmp metrics

我有一组服务器。我手工编码的常见任务是:

  1. 使用metrics库收集各种统计信息(失败,成功,次数)。
  2. 聚合那些组合交叉集群。
  3. 根据条件检查汇总的统计信息跨群集并根据发送提醒进行检查。 (而不是让每个服务器发送警报,将轮询的全局指标增加到graphite)。
  4. 如果特定节点发送其首次累积的警报并基于来自其他节点的警报(再次跨群集方案),那么我将决定发送哪个警报(因此如果我有100个服务器而不是每个都发送一个单独的警报但是单一)。
  5. 我查看了一些框架,但我看不到这些框架:metricsjavamelodynetflix servonetflix zuul

    但是它们都不支持我的跨群集方案,我想在一段时间内聚合统计信息,并且只有在某些条件适用时才发送警报(作为避免跨服务器重复警报的方法)。我需要为此构建自己的框架吗?或者已经存在某种东西了吗?

    (如果我的用例听起来具体,所以我应该只编码它,我有更多这样的类似用例,让我想到为什么没有这样的框架,在我开始编码之前我不想找到我刚刚复制的其他一些框架。)

1 个答案:

答案 0 :(得分:1)

您是否考虑过将Graphite或OpenTSDB与Riemann结合使用?您可以在Graphite中聚合您的信息(有或没有statsd)或将所有内容转储到OpenTSDB中并使用Riemann进行事件处理? Riemann的配置在Clojure中,但我相信你可以使用多种语言的客户端库(除非你想使用Esper / Siddhi自己进行事件处理)。另一种选择可能是看看Rocksteady(whcih使用Graphite / Esper)。 Graphite是一个Python / Django应用程序(有多个statsd分支 - 不仅仅是NodeJS中的分支;此外,您可以简单地使用指标代替它)。 OpenTSDB是HBase上的Java(如果您正在寻找存储时间序列信息)。对于事件处理,您也可以选择查看Storm(并使用Esper / Siddhi作为Storm中的一个螺栓)。