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