每次用户连接到我的网站时,我都会发送一条消息。Graphite中积累的价值
使用此格式:
"user_login 1 13xxxxxxx" (key value timestamp)
我的问题是石墨给我一个图表,只与值“1”,每分钟的线。 我每分钟发送一个随机数字的消息(在6到60之间),但我认为Graphite限制为第一个(或最后一个?)消息,以显示一个值。
怎么做才能让每个消息的总和,每分钟?
每次用户连接到我的网站时,我都会发送一条消息。Graphite中积累的价值
使用此格式:
"user_login 1 13xxxxxxx" (key value timestamp)
我的问题是石墨给我一个图表,只与值“1”,每分钟的线。 我每分钟发送一个随机数字的消息(在6到60之间),但我认为Graphite限制为第一个(或最后一个?)消息,以显示一个值。
怎么做才能让每个消息的总和,每分钟?
使用sumSeries 目标= sumSeries(graphite.counterName)或者,如果你想求和超过一分钟总结功能
您可能会感兴趣的石墨服务器上运行statsd或statsite。该软件将按照可配置的时间段汇总所有统计数据,并将结果写入石墨。
看看github.com/etsy/statsd(在node.js中)和github.com/kiip/statsite(蟒蛇克隆)。 Etsy的statsd包含一些关于如何使用它的代码示例。
这也可能是你的数据是如何每公吨汇总,则默认为平均数可能不是你所期待的。另见Tracking metrics using StatsD (via etsy) and Graphite, graphite graph doesn't seem to be graphing all the data。
使用cumulative function你的系列。
默认情况下,当一个图形被绘制,并且该图的中 像素宽度小于要被绘制的数据点的数量, 石墨平均在每个象素的值。累积()函数 将合并函数更改为平均值。
您也可以尝试碳聚合服务,使指标汇总时,他们收集的,而不是在石墨UI。有关聚合规则配置,请参阅http://graphite.readthedocs.org/en/latest/config-carbon.html#aggregation-rules-conf。请注意,您需要将度量标准发送到与通常的碳收集器端口不同的端口上运行的碳聚合服务端口。
杰瑞是正确的,碳 - 聚合器为这个专门编写。
确保在聚集rules.conf使用和功能,比如这个:
bpu.<cluster>.<account>.<metric>_sum (1) = sum bpu.<cluster>.<account>.<metric>_sum
hitcount(seriesList, intervalString, alignToInterval=False)
http://code.hootsuite.com/accurate-counting-with-graphite-and-statsd/
http://obfuscurity.com/2012/04/Unhelpful-Graphite-Tip-1
http://graphite.readthedocs.org/en/latest/functions.html#graphite.render.functions.hitcount
默认情况下,石墨仅存储最后值在最小保留粒度(不平均值)为任何传入度量发送。如果你想要聚合,常用的解决方案是使用statsd。但是,您也可以使用Carbon-aggregator。
user_login (10) = sum user_login$
注:这是假定您的最低保留期限仍为10秒(默认值)只是确保你发送你的指标到聚合线端口,然后用这样的规则更新聚集rules.conf可以确认,通过在存储schemas.conf
寻找更详细的解释,请参见:Why use statsd when graphite's Carbon aggregator can do the same job?
这是我落得这样做。有一种恼人的服务正在运行,但这是一项小服务。 –
我实际上使用了statsite的C(更新版本):https://github.com/armon/statsite。唯一令人讨厌的是我必须改变默认的“sink”文件来删除“statsite.counts”。在默认情况下发送它之前,statsite预先设置的前缀。 –