我在没有多播的网络上运行 Ganglia 3.1.2(我也不能打开它)。有没有人有一个优雅的解决方案让神经节正常工作?我找到了这个:
http://code.google.com/p/ganglia-multicast-hack/
但它不能很好地扩展。
现在,在我的 gmetad.conf 文件中,我的网络上的每个主机都有单独的 data_source 行,但这也不能很好地扩展,而且我无法获得准确的汇总统计信息,因为它不断覆盖 rrds(尽管主机统计信息工作得很好)。
任何指针将不胜感激(或确认我已经找到了最佳解决方案)。
谢谢!
经过进一步研究,我找到了答案。在我的客户上,我在 gmond.conf 中添加了以下内容:
这将通过单播 UDP 将数据每 1 秒发送到监控主机和备份。
然后在监控主机上,我添加了这个:
关键是摆脱默认情况下存在的多播条目。
这可行,但问题是所有节点最终都将位于相同的默认数据源中,因此它们的集群信息会丢失,这对于多集群环境来说不是很好。
我还没有尝试过,但一个可能的解决方法是为每个集群创建一个 UDP 通道,如果你有很多,这不是很好。
后期编辑:
由于网络限制,我当前的设置在集群级别使用单播,并且所有数据都从每个集群发送到一个节点。然后我联系每个使用 metad 的人,以获取有关该集群的所有数据。
这样,集群将被分配到它们自己的数据源,并且它们的完整信息将在那里。
配置如下所示:
然后在元数据上:
对于冗余,您可以在 data_source 中列出多个 udp_send_channel 条目和多个 IP。我个人为每个集群使用两个。
对于联邦,我使用这样的东西:
仅当您在端口 8651 上侦听元数据时,这才有效。
在 Amazon EC2 云上配置 Ganglia 时遇到了与多播模式相同的问题,这会阻止在其网络中使用多播。可能的解决方案是切换到单播模式,幸运的是。
简而言之,下面给出了摆脱多播模式的简单步骤。
示例:有 10 个节点正在运行 gmond 守护程序。从 10 个节点中选择一个节点,并使将从 10 个节点获取所有数据的主节点甚至也应该是其自身的从节点。
注意:在运行 gmond 守护程序的所有 10 个节点上复制相同的配置。先重启Master,然后再重启所有其他。希望它能正常工作,并且主节点将拥有来自其他节点的所有数据。
现在配置 Ganglia 数据整合器 (gmetad) 守护程序以使用您的主节点作为主要数据源。
例子:
现在重新启动 gmetad 守护程序,让魔法开始。
干杯莫哈末莫扎米尔汗
也可以看看:
https://github.com/ganglia/monitor-core/tree/feature/cloud
我今天安装了它,让它在不允许多播的 EC2 上运行。