我想为OpenTSDB创建一个非常简单的收集器, 例如,我正在考虑创建一个写一些随机值的简单javascript文件。
我不明白的是那些随机值的格式。
我必须做一个写一个字符串的程序,例如metric.name timestamp value
,或者只是我的简单程序只写一个值?
答案 0 :(得分:0)
Javascript不是执行此类任务的最佳选择,我会使用Python,Bash,Perl或Ruby。我不是JS的专家,但希望这个例子适合你。
首先,您需要创建生成输出的文件。所以 foo.js 会产生随机数,并在几秒钟内打印出公制名称和时间戳:
var randvar = Math.random();
var ts = Math.round(new Date().getTime() / 1000);
print ("metric.name "+ts+" "+randvar);
其次,您需要一个可执行文件来启动 foo.js ,此文件将是 foo.sh 。您必须为其授予执行权限chmod +x foo.sh
。我正在使用 rhino 运行JS代码,您可以使用任何其他解释器:
#!/bin/bash
rhino rand_tsd.js
最后,您必须将文件放在tcollector/collectors/NUM/
文件夹下,其中NUM
是两次执行之间的间隔(以秒为单位)。然后启动tcollector守护进程。