我正在尝试使用一些可用的方法将Aerospike指标发送到另一个节点,例如collectd。
例如,在Aerospike监测指标中,给定两个字段:比如X和Y,我如何定义和发送衍生指标,如Z = X + Y或X / Y?
我们可以在接收器端计算它,但它会降低我们整个应用程序的性能。将提前感谢您的指导。
感谢。
答案 0 :(得分:4)
它不能在Aerospike collectd插件中完成,因为一旦读取指标或多或少立即发送。没有变量可以保存已发布的指标。
如果您可以使用Graphite插件,它会跟踪所有收集的指标,然后在最后发送一次。您可以在nmsg line.之前为计算的指标添加另一个节。您必须在msg []数组中搜索源指标。
Nagios插件是一种非常不同的方法。它是一个单一的度量拉动,因此需要一个包装器脚本来为每个操作数运行插件,并在包装器中运行计算。
或者,您可以使用自己的脚本补充现有插件,仅用于派生指标。我们所有的监控插件都使用Aerospike Info Protocol,您可以使用asinfo
收集操作数的指标,类似于之前的Nagios方法。