没有多播的Ganglia

我在没有组播的networking上运行Ganglia 3.1.2(也不能打开它)。 有没有人有让神经正常工作的优雅的解决scheme? 我find了这个:

http://code.google.com/p/ganglia-multicast-hack/

但它不能很好地扩展。

现在,我在我的gmetad.conf文件中为networking中的每台主机分别设置了data_source行,但是这样也不能很好地进行扩展,并且我无法获得准确的汇总统计信息,因为它会一直覆盖rrds(尽pipe主机统计信息工作得很好)。

任何指针将不胜感激(或确认,我已经find了最好的解决scheme)。

谢谢!

经过进一步的研究,我find了答案。 在我的客户端,我添加了以下内容到gmond.conf:

udp_send_channel { host = monitoring-host port = 8666 ttl = 1 } udp_send_channel { host = monitoring-host-backup port = 8666 ttl = 1 } 

这将通过单播UDP将数据每隔1秒发送到监视主机和备份。

然后在监控主机上,我添加了这个:

 udp_recv_channel { port = 8666 } 

关键是摆脱多播条目,这是默认情况下。

这是有效的,但是问题是所有的节点都会以相同的默认数据源结束,所以它们的集群信息将会丢失,这对于多集群环境来说并不是那么好。

我还没有尝试过,但一个可能的解决方法是为每个群集创build一个UDP通道,如果你有很多的话就不太好。

稍后编辑:

由于networking的限制,我当前的设置是在集群级别使用单播,所有数据都从每个集群发送到节点。 然后,我使用metad联系每个人以获取有关该群集的所有数据。

这样,集群将被分配到他们自己的数据源,他们的全部信息将在那里。

configuration将如下所示:

 # on each node in the cluster udp_send_channel { host = 1.2.3.4 # this is a member of the cluster, not a metad server port = 8650 } 

然后在metad上:

 data_source "My Cluster" 1.2.3.4 

为了冗余,您可以在data_source中列出多个udp_send_channel条目和多个IP。 我个人使用两个每个群集。

对于联邦我使用这样的东西:

 data_source "My Grid" 1.2.3.5:8651 

只有当你在端口8651有一个端口监听器时,这才是有效的。

当在Amazon EC2云上configurationGanglia以防止在其networking中使用多播时,正面临与多播模式相同的问题。 可能的解决scheme是切换到幸运的单播模式。

为了简明扼要,下面给出简单的步骤来摆脱组播模式。

  1. 让你的一个节点主人运行gmond(ganglia data collector)守护进程。

例如:有10个运行gmond守护进程的节点。 从10中select一个节点,使得从10个节点获得所有数据的主节点也应该是自己的从节点。

 # Define the cluster. cluster { name = "Yellow" owner = "Your Company" latlong = "N34.02 W118.45" url = "http://yourcompany.com/" } # Disable multicast and define the host, the yellow master, where nodes in the cluster send data. udp_send_channel { # mcast_join = 239.2.11.71 (No need to join as mcast is not being used) host = master.among10node.com (put the IP/Hostname of server from any 10 nodes to ack as master) port = 8649 ttl = 1 } udp_recv_channel { # mcast_join = 239.2.11.71 (Disabled mcast as it is not being used) port = 8649 # bind = 239.2.11.71 (No need to bind as mcast is not being used) } 

注意:在运行gmond守护程序的全部10个节点上复制相同的configuration。 重新启动师父,然后所有其他人。 希望它能工作,主节点将从其他节点获取所有数据。

现在configurationGanglia数据整合器(gmetad)守护程序,将您的主节点用作主数据源。

例:

 data_source "Yellow" master.among10node.com # default port is 8649, define here if you are using non default 

现在重新启动gmetad守护进程,让魔法开始。

干杯莫哈末莫扎米尔汗

也可以看看:

https://github.com/ganglia/monitor-core/tree/feature/cloud

我今天安装了它,并且在不允许多播的EC2上工作。