在 Amazon EC2 中,我设置了代理和 1 个监视器 (MON)。我在代理中安装了 gmond,在 MON 中安装了 gmetad。MON 中 gmetad.conf 的数据源如下所示:
data_source "proxies" proxy1:8654 proxy2:8654 proxy3:8654
在代理的 gmond.conf 中我有:
tcp_accept_channel {
port = 8654
}
一切正常,当我从 MON 远程登录到代理时,我得到了包含正确数据的 XML。问题是 Web 前端仅显示来自集群“代理”的一个源,实际上它显示了我放在列表中的第一个源,在本例中为 proxy1。如果我更改顺序:
data_source "proxies" proxy2:8654 proxy3:8654 proxy1:8654
它仅显示来自代理 2 的数据。
我曾经使用 TCP 或 UDP 在 Ganglia 中安装了其他监控系统,甚至通过 ssh 隧道,但这是我第一次看到这种行为。我没有使用多播,因为(据我所知)亚马逊不支持他们的网络。为什么 Ganglia-Web 只显示一个数据源?
答案1
答案2
我读了这篇文章后找到了答案自述文件。data_source 指令没有像我想象的那样工作:
data_source "proxies" proxy1:8654 proxy2:8654 proxy3:8654
此行不会从三个源提取数据,而是从第一个源提取数据,其他源充当冗余源。我需要做的是将所有数据从代理发送到 gmond 集线器,然后发送到 gmetad 服务器。