graphite:如何从批量指标中获取每秒指标?

时间:2016-09-21 09:28:06

标签: graphite

我尝试使用每秒指标(每秒总查询数)来衡量在线小批量处理系统。对于每个批次,将向石墨发送一个度量标准(例如"stats.gauges.<host>.query.count")。批处理在几个不同的主机中并行处理,一批数据需要大约5秒钟来处理。 我试过了:

  1. 简单地总和系列:sumSeries(stats.gauges.*.query.count), 结果指标比实际值大许多倍;
  2. 缩放到1秒: scaleToSeconds(sumSeries(stats.gauges.*.query.count), 1),结果指标远低于实际值;
  3. 积分然后导数:nonNegativeDerivative(sumSeries(integral(stats.gauges.*.query.count))),与第一种情况相同......
  4. 发送仪表 delta=True param,然后衍生。结果大约高出20% 比实际值
  5. 那么,如何从批量指标中获取每秒指标?什么是最佳做法?

1 个答案:

答案 0 :(得分:0)

您应该使用碳聚合器服务在它们进入时将多个指标一起添加。有一个适合您案例的示例http://graphite.readthedocs.io/en/latest/config-carbon.html#aggregation-rules-conf

由于您的批处理需要5秒才能处理,因此频率应为5以缓冲所有指标。五秒钟后,聚合器将它们相加并写入石墨。