我试图将参数foo
及其值发送到statsD
使用python(python-2.7)程序。当从nettsi命令中获取数据包时,使用nettsi命令从下面的命令发送数据包foo:150哪个是正确的。
echo "foo:150|c" | nc -u -w0 127.0.0.1 8125
然而,当我通过Python程序发送foo:150
时,statsD
得到的是{statsD
接收值输出如下。知道python程序中导致statsD
接收随机值的错误是什么,但在通过nc(netcat)命令发送时却能正常工作吗?在
PYTHON程序:
import socket
import random
UDP_IP = "127.0.0.1"
UDP_PORT = 8125
while(True):
MESSAGE = "foo:150|c"
#print "message:", MESSAGE
sock = socket.socket(socket.AF_INET, # Internet
socket.SOCK_DGRAM) # UDP
sock.sendto(MESSAGE, (UDP_IP, UDP_PORT))
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
StatsD接收值:
^{pr2}$~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
我找到了答案。似乎当我把发送值从计数器改为as gauges时,我得到的值是正确的。所以,我认为问题不在我的python程序中,而是
statsD
中的一些逻辑在作为计数器的一部分传递时给了我foo
意外的随机值。在简而言之,当我从
MESSAGE = "foo:150|c"
更改为MESSAGE = "foo:150|g"
时,我开始为foo
获得正确的值。输出如下:相关问题 更多 >
编程相关推荐