【问题标题】:Is there a java monitoring/alerts framework for a cluster?是否有用于集群的 java 监控/警报框架?
【发布时间】:2014-09-22 17:09:03
【问题描述】:

我有一个服务器集群。我手动编码的常见任务是:

  1. 使用metrics 库收集各种统计数据(失败、成功、次数)。
  2. 聚合那些组合跨集群。
  3. 根据条件检查聚合统计信息跨集群并根据该发送警报。 (而不是让每台服务器发送警报,而是将轮询的全局指标增加到 graphite)。
  4. 如果一个特定节点发送一个警报,它首先累积并基于来自其他节点的警报(再次跨集群场景),那么我将决定发送哪个警报(所以如果我有 100 台服务器,不是每个服务器都发送单独的警报,而是一个)。

我研究了一些框架,但没有一个可以实现这一点:metricsjavamelodynetflix servonetflix zuul

但它们都不支持例如我的跨集群场景,我想随着时间的推移汇总统计信息,并且只有在某些条件适用时才发送警报(作为避免跨服务器重复警报的一种方法)。我需要为此建立自己的框架吗?还是已经存在一些东西?

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

【问题讨论】:

    标签: java monitoring snmp metrics


    【解决方案1】:

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

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-08-20
    • 1970-01-01
    • 1970-01-01
    • 2019-07-31
    • 1970-01-01
    • 1970-01-01
    • 2022-06-20
    相关资源
    最近更新 更多