在针对特定服务的riemann配置中,我试图将其所有事件指定为metric = 1,在5秒内将它们相加并将结果发送到Influxdb。
我尝试了以下内容:
data <- data[-(10000:20000),]
它确实不起作用,存储在涌入的事件与此规则不匹配。
答案 0 :(得分:2)
内置的folds/count
函数执行此操作:
(fixed-time-window 5
(smap folds/count influx))
对涌入的调用也需要是进行计数的流的子节点,因此它是被索引的计数。
如果您想使用folds/sum
修复示例,可以将调用移至(with :metric 1)
外部或上游调用sum,以便将指标设置为1,然后新指标为总结在folds/sum
的电话中。然后将对index和/ flow的调用作为smap的子流进行调用,以便将求和的项目编入索引并转发。
答案 1 :(得分:1)
添加Arthur的答案,您可能希望使用rate
(使用scale
)代替fixed-time-window
(smap
和folds/count
)。 rate
通常优于fixed-time-window
,因为rate
会在时间窗口结束后立即触发,而fixed-time-window
必须等到时间窗口结束后新事件到达,这在将来永远不会发生或发生太远。关于这个问题,有一个issue in riemann。
还有comment from aphyr解释为什么rate
比窗口函数更有效。
您只需要将其与scale
一起使用,因为rate
会在您想要获得5秒的速率(在5秒间隔内测量)时测量速率。