Graph 不聚合数据

Graph 不聚合数据,graph,graphite,Graph,Graphite,我正在使用Graphite和Carbon cache,并试图理解为什么它似乎没有将聚合应用于数据 我有一个whipser数据库: whisper-create.py /opt/graphite/storage/whisper/test/test.wsp 60:1y 根据元数据,我使用的是平均聚合方法: Meta data: aggregation method: average max retention: 31536000 xFilesFactor: 0.5 我给它写了两个值

我正在使用Graphite和Carbon cache,并试图理解为什么它似乎没有将聚合应用于数据

我有一个whipser数据库:

whisper-create.py  /opt/graphite/storage/whisper/test/test.wsp 60:1y
根据元数据,我使用的是平均聚合方法:

Meta data:
  aggregation method: average
  max retention: 31536000
  xFilesFactor: 0.5
我给它写了两个值:

echo "test.test 1 `date +%s`" | nc localhost 2003; 
echo "test.test 100 `date +%s`" | nc localhost 2003; 
当我查看我的whisper数据库时,我看到以下值:

42: 1395315780,        100
我希望该值为
100+1/2=50.5

它似乎使用的是最后一个值,而不是两个值的平均值


我觉得我可能错过了什么。有人能解释一下吗?

答案是使用碳聚集器,而不是碳缓存

无论发生什么情况,碳缓存都将始终替换该值。如果每个点的时间为1秒,并且在一秒内发送多个值,则最后一个值将被存储


如果您希望保留多个值,则需要使用碳聚合器(在不同的端口上运行),并配置其聚合数据的方式(总和、平均值)。

我也遇到同样的问题,无法访问graphite/whisper设置。 还有另一个解决办法。从外部聚合数据并将其发送到graphite数据端口。

我认为Graphite会用上次提交的时间戳替换相同时间戳的值。你应该在样品之间等待。此外,聚合方法仅在从whisper数据库中的一个频繁序列向下采样到一个更不频繁的序列时使用,但您只定义了其中一个序列。参见@cmur2,当你说“相同的时间戳”时,你是指相同的毫秒还是相同的间隔(在我的示例中是60秒)。我让时间在这两个echo语句之间传递,这样它们就不会使用完全相同的unix时间戳,而是都在60秒的间隔内。Graphite/whiler将记录每个值-在您的情况下-60秒。聚合只涉及将多个60秒间隔下采样到另一个60秒间隔,而在您的示例中,这是不存在的。@cmur2 Aah,我明白了。那么如何实现聚合呢?我试图通过碳聚合器发送它,但我似乎得到了人们使用的相同结果,例如,在碳-afair碳聚合器前,您的用例使用statsd-afair碳聚合器仅用于负载平衡等。嗨,Gravrilla,欢迎来到Stack Overflow!请你在回答中再加一点细节好吗?如果你能解释一下这是如何回答这个问题的,以及它是如何结合在一起的,那会很有帮助。