2012-03-16 52 views
2

我一直在寻找支持以下要求的开源统计服务器:开源stat服务器?

  • 本地代理聚集每秒100S的统计信息,和发送这些统计出到中央集群(或单个服务器)每10秒或者。应用程序将阻止网络对代理的调用,以便在代码中进行统计,而不是写出到磁盘,并让另一个进程来读取日志。
  • 中央服务器响应请求REALTIME(次秒级响应)中的聚合的查询(每5分钟间隔,小时,天,月,年的统计数据)。可选:支持滚动时间窗口(例如,从现在起1小时)
  • 标记每个统计指标。每个统计名称将具有不同的属性,例如此统计来自的主机名称。
  • 单调递增的统计(统计增加永远,即总数)

我的理解是相当简单写每天自己(表,基于策略汇总较低粒度表,然后把它们每TTL ,可以在NOSQL上完成,例如,在时间桶上的redis上的hashsets),但是我们惊讶的是,鉴于它是一个标准的用例,没有一个可用的。 OpenTSDB是一个非常接近的候选人(不提供本地代理),但不支持单调递增的统计数据。

任何建议或指针?

回答

1

看看statsd,这是一个非常酷的项目,或多或少地做你想要的。您的应用程序会将UDP数据包发送到中央节点(您要说明您希望实际发送的样本百分比以避免超载,我们使用大约10%),并且中央服务器会聚合标记的数据。然后它使用Graphite生成实际的报告。

https://github.com/etsy/statsd