2013-06-26 36 views
5

我使用石墨(0.9.10)作为后端的statsd(git master分支的最新版本)。如何获得statsd和石墨的累积计数图?

在我的(Django)代码中,我在用户注册时调用statsd.incr("signups")。在石墨的网页界面中,我现在看到一个漂亮的图表,显示了Graphite/stats/signups下每秒注册的次数。当我查看Graphite/stats_counts/signups下的图表时,我预计看到注册总数,但它看起来是每10秒间隔的注册数量(这是statsd的刷新间隔,我猜)。

没有配置storage-aggregation.conf,也许我错了吗?此外,我停止碳(不是stop,但真的杀死它,因为显然只是停止它不允许它重新加载配置)。我也删除了/opt/graphite/storage/whisper/stats_counts目录。然后我重新启动了碳守护进程。我仍然可以获得每10秒间隔的注册数量。 :-(

这里是我的配置:

# /opt/graphite/conf/storage-aggregation.conf 

[lower] 
pattern = \.lower$ 
xFilesFactor = 0.1 
aggregationMethod = min 

[upper] 
pattern = \.upper$ 
xFilesFactor = 0.1 
aggregationMethod = max 

[upper_90] 
pattern = \.upper_90$ 
xFilesFactor = 0.1 
aggregationMethod = max 

[count] 
pattern = \.count$ 
xFilesFactor = 0 
aggregationMethod = sum 

[count_ps] 
pattern = \.count_ps$ 
xFilesFactor = 0 
aggregationMethod = sum 

[sum] 
pattern = \.sum$ 
xFilesFactor = 0 
aggregationMethod = sum 

[sum_90] 
pattern = \.sum_90$ 
xFilesFactor = 0 
aggregationMethod = sum 

[stats_counts] 
pattern = ^stats_counts\. 
xFilesFactor = 0 
aggregationMethod = sum 

[min] 
pattern = \.min$ 
xFilesFactor = 0.1 
aggregationMethod = min 

[max] 
pattern = \.max$ 
xFilesFactor = 0.1 
aggregationMethod = max 

[default_average] 
pattern = .* 
xFilesFactor = 0.5 
aggregationMethod = average 

这:

# /opt/graphite/conf/storage-schemas.conf 

[stats] 
priority = 110 
pattern = ^stats.* 
retentions = 10s:6h,1m:7d,10m:1y 

我开始认为我做的一切权利和石墨真的做什么它应该是所以问题是:

什么是配置statsd &石墨绘制总数signu ps从什么时候开始?

我想我可以改变我的Django代码来计算用户的总数,过一段时间,然后用gauge代替incr,但感觉像石墨应该能够只是总结不管它动态地收集数据,而不仅仅是汇总数据。

编辑:

使用石墨的网络界面,在石墨作曲家,我所施加的integral函数以图中的基本的“每秒申请人数”(在石墨/统计/注册),并且我得到所期望的图表(即注册总数)。这是获得累积图表的适当方法吗?这很烦人,因为我需要选择自开始以来的完整日期范围,我无法放大图形,否则我只是获取缩放部分的积分。 :-(

回答

1

是的integral()函数是这样做的正确方法。由于StatsD在这方面是无状态的(所有收集的数据在刷新到Graphite后都被重置/删除),所以它无法做到总结一下,因为某一个点的所有接收到的数据

integral()函数的石墨文件:

This will show the sum over time, sort of like a continuous addition function. Useful for finding totals or trends in metrics that are collected per minute.