Configuration 如何使用statsd和graphite获得累积计数图?

Configuration 如何使用statsd和graphite获得累积计数图?,configuration,graphite,statsd,Configuration,Graphite,Statsd,我使用graphite(0.9.10)作为后端的statsd(git master分支的最新版本) 在我的(Django)代码中,当用户注册时,我调用statsd.incr(“注册”)。在graphite的web界面中,我现在看到一个漂亮的图表,显示graphite/stats/signups下每秒的注册数。当我查看Graphite/stats\u counts/signups下的图表时,我希望看到注册的总数,但它看起来是每10秒间隔的注册数(我猜这是statsd的刷新间隔) 我确实配置了sto

我使用graphite(0.9.10)作为后端的statsd(git master分支的最新版本)

在我的(Django)代码中,当用户注册时,我调用
statsd.incr(“注册”)
。在graphite的web界面中,我现在看到一个漂亮的图表,显示graphite/stats/signups下每秒的注册数。当我查看Graphite/stats\u counts/signups下的图表时,我希望看到注册的总数,但它看起来是每10秒间隔的注册数(我猜这是statsd的刷新间隔)

我确实配置了
storage aggregation.conf
,也许是我弄错了?另外,我停止了碳排放(不是使用
stop
,而是真的杀死了它,因为停止碳排放显然不允许它重新加载配置)。我还删除了
/opt/graphite/storage/whisper/stats\u 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&graphite以提取自时间开始以来的注册总数?

我想我可以偶尔更改Django代码来计算用户总数,然后使用
仪表
而不是
增量
,但感觉graphite应该能够即时总结它收到的任何数据,而不仅仅是在聚合数据时

编辑:

使用Graphite的web界面,在Graphite composer中,我将
integral
函数应用于基本的“每秒注册数”图形(在Graphite/stats/signups中),得到了所需的图形(即注册总数)。这是获取累积图表的合适方法吗?这很烦人,因为我需要选择从时间开始的完整日期范围,我无法放大图表,否则我只能获取缩放部分的积分。:-(

积分()
函数是正确的方法。由于StatsD在这方面是无状态的(所有收集的数据在刷新到Graphite后被重置/删除),因此它无法汇总自某一点以来收到的所有数据

integral()
函数的Graphite文档中:


这将显示一段时间内的总和,有点像连续加法函数。对于查找每分钟收集的指标的总数或趋势非常有用。