2014-03-13 32 views
1

我们使用statsd作为聚合体,在60秒后转发到石墨。graphite + statsd,缺少统计资料?

我可以看到填充“stats.timers”桶的石墨。但不是所有预期的。

石墨机器上:

graphite:/opt/graphite # find .../xxx/desktopapp/members/contacting -name "*.wsp" 
.../xxx/desktopapp/members/contacting/lastVisitors/mean_90.wsp 
.../xxx/desktopapp/members/contacting/lastVisitors/sum.wsp 
.../xxx/desktopapp/members/contacting/lastVisitors/std.wsp 
.../xxx/desktopapp/members/contacting/welcome/count_ps.wsp 
.../xxx/desktopapp/members/contacting/feditWelcome/mean.wsp 
.../xxx/desktopapp/members/contacting/contacts/count.wsp 
.../xxx/desktopapp/members/contacting/contacts/sum_90.wsp 
.../xxx/desktopapp/members/contacting/preContact/count_ps.wsp 
.../xxx/desktopapp/members/contacting/preContact/mean_90.wsp 
.../xxx/desktopapp/members/contacting/preContact/sum.wsp 
.../xxx/desktopapp/members/contacting/preContact/std.wsp 
.../xxx/desktopapp/members/contacting/preContact/count.wsp 
.../xxx/desktopapp/members/contacting/preContact/sum_90.wsp 
.../xxx/desktopapp/members/contacting/fedit/upper.wsp 
.../xxx/desktopapp/members/contacting/preWelcome/count_ps.wsp 
.../xxx/desktopapp/members/contacting/preWelcome/sum.wsp 
.../xxx/desktopapp/members/contacting/preWelcome/std.wsp 
.../xxx/desktopapp/members/contacting/contact/count_ps.wsp 
.../xxx/desktopapp/members/contacting/contact/sum.wsp 
.../xxx/desktopapp/members/contacting/contact/std.wsp 
.../xxx/desktopapp/members/contacting/favorite/median.wsp 

寻找每个件事我一次statsd源代码(https://github.com/etsy/statsd/blob/master/lib/process_metrics.js)我预计follwoing指标出现(如每个桶本身)。

来源:

current_timer_data["std"] = stddev; 
    current_timer_data["upper"] = max; 
    current_timer_data["lower"] = min; 
    current_timer_data["count"] = timer_counters[key]; 
    current_timer_data["count_ps"] = timer_counters[key]/(flushInterval/1000); 
    current_timer_data["sum"] = sum; 
    current_timer_data["mean"] = mean; 
    current_timer_data["median"] = median; 

任何人任何想法,为什么一些我只得到“count_ps”和其他的我得到“上面”。石墨处理内部统计队列需要一些时间吗?

statsd日志说,大约500 numstats /分钟发送:

13 Mar 10:13:53 - DEBUG: numStats: 498 
13 Mar 10:14:53 - DEBUG: numStats: 506 
13 Mar 10:15:53 - DEBUG: numStats: 491 
13 Mar 10:16:53 - DEBUG: numStats: 500 
13 Mar 10:17:53 - DEBUG: numStats: 488 
13 Mar 10:18:53 - DEBUG: numStats: 482 
13 Mar 10:19:53 - DEBUG: numStats: 486 

任何帮助,高度赞赏

欢呼 烫发

回答

0

我已经知道,对于稀疏数据集,似乎拿而所有的统计数据都以石墨显示。我不知道确切的阈值,但根据我的经验,似乎确实需要在显示所有不同的计时器统计数据之前将一定数量的数据推入石墨以获得指标。

+0

此外,石墨有多少新的统计数据相当保守的默认您可以每分钟添加一次(所以在发生事故时它不会在新文件中占用文件系统)。当我们添加大量新指标时,所有新指标的出现可能需要一天的时间。 –

1

@marcel,您是否在statsd中配置了percentThreshold:local.js? 并为了获得“较高”的指标,首先您需要确保如何将指标发送到statsd。 例如。为了利用的statsd定时器桶,你需要使用其指定的类型,如指定

指标的类型,计时器作为发送指标:

echo "xx.yy.zz:<data point>|t"