OpenTSDBは初めてです。どういうわけかOpenTSDBをインストールして構成できましたが、クライアントからOpenTSDBにデータを入れる方法がわかりません。誰か助けてくれませんか?
4 に答える
スタートガイドを読んだことがありますか
いくつかのオプションがあります。開始し、を介してメトリックを作成する./tsdb mkmetric mymetric.data_1 mymetric.data_2
と、フォームに書き込まれたファイルをバッチインポートできます
メトリック名タイムスタンプ値タグ例:
mymetric.data_1 1295643636 48 a=foo
その後、あなたはすることができます./tsdb import file
もう1つの方法は、上記と同じ形式でサーバーにコマンドを「telnet」することですが、echo "put mymetric.data_1 1295643636 48 a=foo" | nc -w 15 tsdHost tsdPort
(linux way :-)のようにputキーワードを使用します)
簡単に言うと、これらの " put name timestamp value [tags]
"コマンドは、TCP/IPを介してOpenTSDBにデータを追加するためのネットワークプロトコルです。したがって、Javaプログラムから、TSDポートへのTCPソケットを開き、データを追加するためのコマンドの記述を開始できます。
明らかに、それでも多くの詳細が読者に演習として残されています。
保存する時系列データをどのように収集するか、または収集する場合でも、質問で指定しませんでした。アプリケーションからTSDにデータを定期的にプッシュするのがどれほど複雑かは、そこで何をしているかによって異なります。優れたYammer/Coda Hale Metricsライブラリを使用してデータを収集している場合(そしてJavaでは、私が知っているように、それを行うための洗練された方法は実際にはありません)
Metricsには、GraphiteやGangliaなどの他の統計リポジトリ用のいくつかの実装を備えたレポーターインターフェイスが含まれています。OpenTSDB用に簡単に実装できます(実際、誰かがすでに持っています-githubでプルリクエストを見つけようとしていますが失敗します。見つけたら更新します)。
OpenTSDB 2.0のドキュメントを確認してください:http://opentsdb.net/docs/build/html/ これにより、 openTSDBにデータを追加する際の洞察が深まります。さらに、openTSDB2.0には、データを配置するためのHTTPAPIがあります。
ドキュメントで入力メソッドを読むことができます。また、データ仕様を読んで、すべての時系列が何で構成されているかを理解することも役に立ちます。