0

我使用以下说明在 Graphite 服务器上安装和配置 StatsD:

https://www.digitalocean.com/community/tutorials/how-to-configure-statsd-to-collect-arbitrary-stats-for-graphite-on-ubuntu-14-04

现在我有一个运行 StatsD 的服务器,当我测试从命令行发送它们时,我没有看到 /var/log/statsd/statsd.log 下记录的指标。这是我看到的:

29 Oct 02:30:39 - server is up
29 Oct 02:47:49 - reading config file: /etc/statsd/localConfig.js
29 Oct 02:47:49 - server is up
29 Oct 14:16:45 - reading config file: /etc/statsd/localConfig.js
29 Oct 14:16:45 - server is up
29 Oct 15:36:47 - reading config file: /etc/statsd/localConfig.js
29 Oct 15:36:47 - DEBUG: Loading server: ./servers/udp
29 Oct 15:36:47 - server is up
29 Oct 15:36:47 - DEBUG: Loading backend: ./backends/graphite
29 Oct 15:36:47 - DEBUG: numStats: 3

日志停留在“numStats:3”的最后一个条目,即使我不断在命令行输入不同的指标。

以下是我输入的指标示例:

echo "sample.gauge:14|g" | nc -u -w0 127.0.0.1 8125
echo "sample.gauge:10|g" | nc -u -w0 127.0.0.1 8125
echo "sample.count:1|c" | nc -u -w0 127.0.0.1 8125
echo "sample.set:50|s" | nc -u -w0 127.0.0.1 8125

有趣的是,我在 /var/log/statsd/stderr.log 下看到了这个:

events.js:72
        throw er; // Unhandled 'error' event
              ^
Error: listen EADDRINUSE
    at errnoException (net.js:901:11)
    at Server._listen2 (net.js:1039:14)
    at listen (net.js:1061:10)
    at Server.listen (net.js:1135:5)
    at /usr/share/statsd/stats.js:383:16
    at null.<anonymous> (/usr/share/statsd/lib/config.js:40:5)
    at EventEmitter.emit (events.js:95:17)
    at /usr/share/statsd/lib/config.js:20:12
    at fs.js:268:14
    at Object.oncomplete (fs.js:107:15)

这是我的 localConfig.js 文件的样子:

{
  graphitePort: 2003
, graphiteHost: "localhost"
, port: 8125
, graphite: {
    legacyNamespace: false
  },
debug: true,
dumpMessages: true
}

任何人都能够阐明问题所在吗?

谢谢!

4

1 回答 1

0

8126端口默认有一个管理界面:https ://github.com/etsy/statsd/blob/master/docs/admin_interface.md

您可能在同一系统中的该端口上有另一个服务正在侦听。

试试这个:

# localConfig.js
{
  graphitePort: 2003
, graphiteHost: "localhost"
, port: 8125
, mgmt_port: 8127
, graphite: {
    legacyNamespace: false
  },
  debug: true,
  dumpMessages: true
}

https://github.com/etsy/statsd/blob/master/exampleConfig.js#L28

于 2014-11-13T08:21:40.743 回答