在 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
它只显示来自 proxy2 的数据。
我已经使用 TCP 或 UDP 在 Ganglia 中安装了其他监控系统,甚至通过 ssh 隧道,但这是我第一次看到这种行为。我没有使用多播,因为(据我所知)亚马逊不支持他们的网络。为什么 Ganglia-Web 只显示一个数据源?
查看没有多播的 Ganglia
我找到了阅读此README 文件的答案。data_source 指令没有像我想的那样工作:
这条线不会从三个来源中提取数据,它会从第一个来源中提取数据,而其他来源则充当冗余来源。我需要做的是将所有数据从代理发送到 gmond 集线器,然后发送到 gmetad 服务器。
也可以看看:
https://github.com/ganglia/monitor-core/tree/feature/cloud
我今天安装了它,让它在不允许多播的 EC2 上运行。