1

我正在尝试将一些纯文本数据发送到在我本地运行的石墨服务器,这是相同的代码:

<?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

4

2 回答 2

2

另外不要忘记检查 carbon.conf,因为默认情况下 UDP 侦听器是关闭的。

这个选项愚弄了我,因为显然 StatsD 和 Graphite 在同一主机上使用 TCP 进行通信。我测试了插入指标

echo "test.foo 20 `date +%s`" | nc 192.168.10.10 2003

但是在阅读了手册页之后,事实证明你必须在 nc 中添加 -u 才能强制它使用 UDP。

希望这可以节省其他人一些时间。

于 2013-03-27T13:27:03.243 回答
0

您正在打开 TCP 流 - 但石墨使用 UDP吗?

于 2012-06-06T12:09:27.453 回答