如何配置StatsD和Graphite以在不同的服务器上运行

use*_*719 5 amazon-ec2 graphite statsd graphite-carbon

我一直在寻找这个,但没有找到任何人谈论如何设置和配置StatsD以及Graphite在不同的服务器上进行通信.我目前所有东西都在一个上运行,但我尝试将它们分开是不成功的.

这是我如何设置 StatsD exampleConfig.js

exampleconfig
{
  graphitePort: 2003
, graphiteHost: "(graphite server IP)"
, port: 8125
}
Run Code Online (Sandbox Code Playgroud)

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

currently it says this:
CARBON_SERVER = '127.0.0.1'
CARBON_PORT = 2003
Run Code Online (Sandbox Code Playgroud)

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

我错过了什么?
还有什么建议用于缩放statsd石墨设置?我现在有自己的statsd和另一台服务器上的石墨+碳+耳语.statsd运行的能力最大还是石墨盒?我想知道这一点,因为我很快就会每天向服务器发送数百万比特的数据进行测试.

小智 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)
Run Code Online (Sandbox Code Playgroud)

从上面你可以看到,我有一个 Carbon-cache 进程在 TCP 2003 上的所有接口上运行和侦听。

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

监听套接字示例*

$ telnet graphite-server 2003
Trying graphite-server...
Connected to graphite-server.
Escape character is '^]'.
^]
telnet> quit
Connection closed.
Run Code Online (Sandbox Code Playgroud)

关闭套接字的示例*

$ telnet graphite-server 2003
Trying graphite-server...
telnet: Unable to connect to remote host: Connection refused
Run Code Online (Sandbox Code Playgroud)