OpenTSDB 用の非常に単純なコレクターを作成したいと考えています。たとえば、ランダムな値を書き込む単純な JavaScript ファイルを作成することを考えています。
私が理解していないのは、これらのランダム値の形式です。たとえばmetric.name timestamp value
、文字列を書き込むプログラムを作成する必要がありますか、それとも単純なプログラムで値のみを書き込むだけで十分ですか?
OpenTSDB 用の非常に単純なコレクターを作成したいと考えています。たとえば、ランダムな値を書き込む単純な JavaScript ファイルを作成することを考えています。
私が理解していないのは、これらのランダム値の形式です。たとえばmetric.name timestamp value
、文字列を書き込むプログラムを作成する必要がありますか、それとも単純なプログラムで値のみを書き込むだけで十分ですか?
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
は、2 つの実行間の間隔 (秒単位) です。次に、tcollector デーモンを起動します。