我发送的计数器可以随时重置。我每隔5秒发送一次计数器,但我不会每5秒重置一次,只有当应用程序重新启动时才会定期重置。
我需要知道我的服务器上周获得了多少次展示,但我无法做到总和(),因为bosun只会添加10,12,15,25,0,1,5 ,10 .... 因此,它确实考虑了费率计算,但不考虑求和或任何其他事情。
如果我每次发送计数器时重新启动计数器,bosun会更好地处理它吗?看起来比较容易,但bosun / opentsdb上的文档声明这不是必需的,也不是这样做的。
答案 0 :(得分:2)
当您将计数器用作速率而不是原始计量时,OpenTSDB应自动处理计数器的总和/平均聚合。它需要两个采样点并计算差异,为您提供总计"展示次数"两个样本点之间。请注意,它也可能会将值更改为"每秒"因为这是OpenTSDB的标准。
每当第二个值低于第一个值时,OpenTSDB将忽略该数据点并等待下一个数据点发送,然后才能继续进行速率计算。因此,如果可能,您应该尽量减少计数器重置或溢出(任何不到一小时的时间都可能导致明显的伪影)。
我们实际上使用一个特殊的/api/count route on tsdbrelay来将多个主机的增量计数聚合成一个更稳定的"我们的Web层上的某些指标的计数器,因为它经常构建并且计数器重置会影响我们的警报和监控仪表板。如果你感兴趣,可以到Bosun Slack room查看更多详情。
我强烈建议你观看Bosun fundamentals playlist更详细地描述Gauge vs Counter的使用。