CollectD是关于插件的。
一个插件是Java插件。记录在这里,这里和这里。Java 插件的功能是托管其他插件。
一个这样的 Java 插件是GenericJMX,它的源代码在这里。使用该类和另一个更简单的类 JMXMemory2.java,我创建了一个类,该类一遍又一遍地静态报告一个值。它对不同的 collectD 数据类型执行此操作,这在此处有所解释。
我遇到的问题是,当在 Graphite 中显示时,只有 1 种数据类型报告实际值。其余显示为零。 如果我创建并使用自定义数据类型,数据将按预期绘制。我想使用绝对、计数器、派生和仪表的内置泛型类型。这样我就不必在 types.db 中创建新的数据类型。
该值每次设置为数字 12。
绝对值:ABSOLUTE:0:U
------> 以 1.2 为中心绘制看起来像心跳的图形
计数器值:COUNTER:U:U
------> 图形 0
派生值:DERIVE:0:U
------> 图 0
仪表值:GAUGE:U:U
------> 图表 0
内存值:GAUGE:0:281474976710656
------> 绘制一条直线 12
memory2 value:GAUGE:0:281474976710656
------> 绘制12的直线