2012-05-14 71 views
2

我试图用石墨来计算CTR为我所有的资源的多个系列,所以我试图记下我的数据是这样的:石墨 - 使用与DivideSeries

  • ctr.resource_id.clicks
  • CTR .resource_id.reach

所以第一,我做我的查询:

&target= averageSeries(divideSeries(ctr.176983011340976128.clicks,ctr.176983011340976128.reach),divideSeries(ctr.190348137012011008.clicks,ctr.190348137012011008.reach)) 

我在这里的问题是,我不不想送我的所有资源ID,以石墨,所以我尝试:

&target= averageSeries(divideSeries(ctr.*.clicks,ctr.*.reach)) 

但是,是的,作为documentation说:“ValueError异常:divideSeries第二个参数必须引用正好1系列”。

我尝试另一种架构:

  • ctr.clicks.resource_id
  • ctr.reach.resource_id

但同样的问题...

我是新石墨,所以如果有人有解决方案,这将是惊人的!

编辑:

刚才看到的功能groupByNode,试图用它...

回答

1

听起来像是你需要将你的数据汇总成一系列预先这样你就可以将它传递给divideSeries。在配置碳文档

聚合-rules.conf参考:http://graphite.readthedocs.org/en/latest/config-carbon.html

所以你需要2条规则这样来总结每分钟点击数据: ctr.resource_all.clicks(60)= SUM CTR *。点击 ctr.resource_all.reach(60)=总和的点击率。*。达到

您还可以运行carbon-aggregator.py守护 /opt/graphite/bin/carbon-aggregator.py start

的默认端口聚合器守护进程是2023年,所以这就是你守侯的地方ld发送你的流量,而不是你一直使用的2003端口。