Graphite Clustered Webapp - 不共享数据

Graphite Clustered Webapp - 不共享数据

我在 EC2 上的三个实例上设置了 Graphite:

  • 碳接力 -relay1.graphite.prod.example.ec2
  • carbon-cache + webapp -cache3.graphite.prod.example.ec2
  • carbon-cache + webapp -cache4.graphite.prod.example.ec2

中继与一致性哈希配合得很好。问题是两个 Web 服务器彼此之间没有通信,所以我只能看到一个服务器的指标。

我花了很多时间看https://answers.launchpad.net/graphite/+question/114206我无法弄清楚我设置错了什么。我可以从 cache3 针对 cache4 运行 wget,取回数据并在 Apache 日志中查看它。所以我不认为这是防火墙问题。我尝试suppressError = False在 remote_storage.py 中启用并在 local_settings.py 中打开 DEBUG,但我在 Firebug 中没有看到任何错误。

cache3——local_settings.py

CLUSTER_SERVERS = [ 'cache4.graphite.prod.example.ec2', 'localhost' ]

缓存4——local_settings.py

CLUSTER_SERVERS = [ 'cache3.graphite.prod.example.ec2', 'localhost' ]

我也尝试过使用 IP 地址,但没有任何影响。

我做了一些调试和修改storage.py,以直接对我的远程主机进行硬编码:

STORE = Store(settings.DATA_DIRS, remote_hosts=["cache4.graphite.prod.example.ec2", "127.0.0.1"])

这有效。但是,不知何故我的CLUSTER_SERVERS值无法正确地从 local_settings.py 中提取。

有什么建议么?

答案1

事实证明权限local_settings.py太严格,Apache 无法读取它:

-rw------- 1 root root  4006 May  4 13:40 local_settings.py

将权限修复为 644(而不是 600)解决了该问题。

相关内容