我正在使用graphite收集数据,并且想在一段时间内检索某些事件的总数。说,每周登录次数。

但是,我只需要总数,而无需查看其随着时间的变化。

当我使用from=-1w&target=summarize(stats.events.login.success,"1w")&format=json之类的东西时,我仍然得到两个数据点,而不是一个。

有没有办法从summarize函数获取单个数据点?或使用其他函数返回单个数据点值?

最佳答案

这里的问题是摘要默认情况下不与from字段对齐。

summarize(seriesList, intervalString, func='sum', alignToFrom=False)


如果你这样做

from=-1w&target=summarize(stats.events.login.success,"1w","sum",true)&format=json


您应该只获得一个数据点。现在它正在执行的操作是将您的存储桶与不适合于从您的from参数开始的一周范围内的日期对齐,因此最终会有2个存储桶。从graphite docs总结:


默认情况下,通过四舍五入到最接近的时间间隔来计算存储桶。
对于间隔小于一天的间隔,此方法效果很好。例如22:32
当间隔= 1小时时,它将在22:00-23:00进入存储桶。

传递alignToFrom = true将改为创建从
从时间。在这种情况下,22:32的时段取决于
时间。如果from = 6:30,则22:32的1小时时段为22:30-23:30。

关于graphite - Graphite 总结数据点,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13589350/

10-16 08:10
查看更多