我从OpenTSDB的官方文档中不了解如何创建收集器以及如何使其运行。除此之外,我想用Java语言做一个收集器。
我对Unix系统也有点陌生,但我知道一些基本知识
最佳答案
为OpenTSDB编写收集器非常简单,如果您已从git存储库中克隆了tcollector
脚本,您将看到startstop
可执行文件,该守护程序一旦启动,将执行存储在./tcollector/collectors/NUMBER
内部的所有文件,其中NUMBER
是以分钟为单位的周期。
也就是说,您需要对将存储在collectors
文件夹中的那些脚本进行编码。当OpenTSDB执行这些脚本时,它期望以下输出:
<METRIC> <UNIX_TIMESTAMP> <VALUE>
所以,就您而言。成像要报告的PC温度(每5分钟调用一次,则必须执行以下步骤:
编写您的脚本(例如使用Java),以获取PC的温度(使用SNMP,从OS或任何其他方法)。然后,当您手动运行脚本时,它将输出:
pc.temperature 1371075574 40
将脚本放在
./tcollector/collectors/5/
下,以便OpenTSDB每5分钟启动一次通过调用
startstop
启动收集器(OpenTSDB必须正在运行)更详细的解释here。
关于java - 为OpenTSDB编写收集器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17076152/