3
OpenTSDBにメトリックデータを送信するのにnetcatの代わりにpythonソケットを使用しようとしていますが、運が得られません。それが可能なら誰でも私に知らせることができますか? OpenTSDBでnetcatを置き換えるPythonソケット
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(("hostname", port))
s.send("put foo 123456789 12.9 host=dummy")
s.send(...)
ゼロ以外の値を返すので、私は、文字列が実際に送信されたと思い、それがOpenTSDBがそれを認識していないだけということです。 netcatを使って同じ文字列を送信しようとしましたが、それは動作します。
実際のPythonが実行される限り、そのコードは正しいです。 'netcat -l'を実行してPythonコードを指すことで、動作することを確認することができます。コマンドの最後に改行を追加する必要がありますか( '' ... host = dummy \ n "'など)? –
larsks
あなたは最終的に出力バッファがフラッシュされるように、ソケットを 'close()'するべきです。 – moooeeeep
改行を追加するようなことがそのトリックをします。 – Sheng