2012-05-14 129 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端口。