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