我正在尝试将一些纯文本数据发送到我本地运行的石墨服务器,这里的代码是相同的:
<?php
error_reporting(E_ALL);
$address = '127.0.0.1';
$port = 2003;
$fsock = fsockopen($address,$port);
for($i=1;;$i++){
$send = "dummy.metric.value ".$i." ".time();
$sent = fwrite($fsock, $send, strlen($send));
echo $send ." sent ".$sent."\n";
sleep(4);
}
?>
没有错误,但石墨服务器不显示新数据。服务器正在运行,我可以通过nc
和telnet
答案 0 :(得分:2)
另外不要忘记检查carbon.conf,因为UDP监听器默认是关闭的。
这个选项欺骗了我,因为显然StatsD和Graphite在同一主机上使用TCP进行通信。我测试了用
插入度量标准echo "test.foo 20 `date +%s`" | nc 192.168.10.10 2003
但是在阅读了手册之后,事实证明你必须在-c中添加-u以强制使用UDP。
希望这可以节省其他人一些时间。
答案 1 :(得分:0)
您正在打开TCP流 - 但是graphite uses UDP?