1

それで、私は Etsy のStatsDと Graphite を OS X 10.9.3 で動かしています。

現在、Python を使用してそれらを実装しようとしていますが、ライブラリに頼る前に技術を単独で使用する方法を理解したいので、python-statsdを使用しないことをお勧めします (Ruby を使用する必要がある場合) /PHP を後で使用すると、基本的な仕組みが理解できなくなります)。

つまり、Python を使用してアプリのデータを StatsD に送信しようとしています。これは Graphite に表示されます。

私のアプリ内では、Steve Ivy のpython_example.pyの正確なコピーを使用しています。

私のコードでは、次のようにインクリメント関数を呼び出します。

from statsd import StatsdClient
client = StatsdClient()
client.increment('somename.someval')

発生するエラーは次のとおりです。

File "/Users/bengrunfeld/Desktop/Work/code/wf-ghconsole/console/statsd.py", line 163, in send
udp_sock.sendto(":".join(item).encode('utf-8'), addr)
....
File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/ext/remote_api/remote_api_stub.py", line 234, in _MakeRealSyncCall
raise pickle.loads(response_pb.exception())
RuntimeError: error('illegal IP address string passed to inet_pton',)

によって送信されているものの値は次のudp_sock.sendtoとおりです。 ('somename.someval:1|c', ('localhost', 8125))

私のコードへのリンク: https://github.com/bengrunfeld-wf/gae-github-console/blob/statsd/console/statsd.py

4

1 に答える 1

1

コードは問題ないように見えますが、最初に行うことは、アプリ エンジンの外部でコードを実行することです。彼が機能する場合は、アプリ エンジンが UDP を実行するかどうかを確認します。正しく思い出せば UDP は実行されません。前回アプリ エンジンでこれを実装したときに、http プロキシを作成する必要がありました。

于 2014-06-06T23:04:16.997 に答える