5

我对此进行了全面检查,但没有找到任何人谈论如何设置和配置StatsD以及Graphite如何在单独的服务器上进行通信。我目前所有东西都在一个上运行,但我试图将它们分开但没有成功。

这是我设置的方法StatsD exampleConfig.js

exampleconfig
{
  graphitePort: 2003
, graphiteHost: "(graphite server IP)"
, port: 8125
}

我能想到在另一个盒子上设置的唯一另一件事是example-client.py.

currently it says this:
CARBON_SERVER = '127.0.0.1'
CARBON_PORT = 2003

我认为它需要保持本地主机与同一服务器上的耳语或石墨进行通信。我有我的防火墙设置来监听2003,并且使用数据包转储服务器确实从 statsd 获取 UDP。它似乎并没有被碳和石墨消耗掉。

我错过了什么?
还有什么推荐用于扩展 statsd 石墨设置?我现在有自己的 statsd 和石墨 + 碳 + 在另一台服务器上窃窃私语。statsd 是最耗电还是石墨盒?我想知道这一点,因为我很快就会每天向服务器发送数百万位数据进行测试。

4

3 回答 3

3

修改example-client.py

如果您想在运行您的石墨/碳实例的不同服务器上运行example-client.py 。然后您需要将CARBON_SERVER更改为石墨/碳服务器的 IP 地址。


网络测试

您可能还需要进行一些快速测试,以确保进程正在侦听您期望的端口上的更正,并且底层网络将允许此通信。

在运行石墨/碳的服务器上,您应该能够通过lsof命令检查服务器是否接受来自本地主机以外的连接

$ lsof -Pi:2003
COMMAND    PID    USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
carbon-ca 1596 graphite   7u  IPv4   9517      0t0  TCP *:2003 (LISTEN)

从上面可以看出,我有一个 carbon-cache 进程在 TCP 2003 上的所有接口上运行和监听。

远程机器的一个非常简单的测试是在它正在侦听的端口(默认值:2003)上与石墨/碳服务器进行 telnet 连接,看看是否有效。

监听套接字示例*

$ telnet graphite-server 2003
Trying graphite-server...
Connected to graphite-server.
Escape character is '^]'.
^]
telnet> quit
Connection closed.

封闭套接字的示例*

$ telnet graphite-server 2003
Trying graphite-server...
telnet: Unable to connect to remote host: Connection refused
于 2012-10-18T08:12:10.337 回答
1

所以我终于发现了问题。我假设 statsd 不仅收到了 UDP,而且还向 carbon 发送了 UDP。在我意识到 statsd 改为发送 TCP 后,我能够调整我的防火墙,现在它工作得很好。我离开了 CARBON_SERVER 作为本地主机。

谢谢!

缩放石墨/碳的最佳方法是什么?我应该将碳与石墨分开吗?那可能吗?碳对处理器的压力是否比石墨更大?

于 2012-10-19T14:47:37.220 回答
1

paperlesspost statsd fork 也可能对您有用:https ://github.com/paperlesspost/statsd

于 2012-10-30T13:12:27.190 回答