ganglia是一个集群的监控软件,是很强大的,这是它的主页https://sourceforge.net/apps/trac/ganglia/wiki
因为自己最近在用这个软件,所以就记录一下,供今后参考。
一共有两个主要的deamon,
gmond: 要安装到所有的节点上面(一般来说都是各计算节点)。它可以在本地定时的收集系统的信息,比如cpu使用率,内在使用率等等。同时还会监听一个端口,通过这个端口可以共享自己的状态信息,并获取其它节点的状态信息(使用XDR协议,XML的形式来发送信息)。
gmetad:它可以从其它的gmetad或者gmond处获取信息。并使用rrd tool把这些信息保存在本地的硬盘中。就可以通过命令行或者网页的方式来查看集群的整体状态了。
gmond可以主动的发送和收集状态信息,gmetad也可以被动的接收信息,也可以主动的去获取信息。所以ganglia的使用方法就比较灵活了,可以根据自己的情况来确定使用哪种方式。
在这里就使用两个例子来说明一下吧:
有一个管理节点和10个计算节点。
方案一、那么一种比较简单的方法就是在管理节点上启动gmetad(定时到所有的计算节点上去获取它们的状态信息),在所有的计算节点上启动gmond(只收集本地的状态信息,不共享给其它节点,等待管理节点的gmetad来获取)。
方案二:在所有的节点上都启动gmond,所有的gmond收集到的信息都发送到管理节点的gmond。在管理节点上启动gmetad,gmetad只需要到管理节点上的gmond获取所有节点的信息就可以了。
可以看出ganglia的灵活性是非常大的,大家可以按照自己的需要来制定具体的收集方式就可以了。一定要注意,gmetad只能主动的去获取信息,要想查看监控信息必需要启动gmetad。
当然它也可以支持层级结构(hierarchic)的集群,层与层之间的通讯最好是使用gmetad来完成,管理配置起来也就非常的简单了。
这里着重说一下配置的问题吧,
ganglia的版本有改变,所以配置文件的位置也有所改变:
3.0.7版本的配置文件在/etc目录下,分别是gmond.conf和gmetad.conf
3.1.7版本的配置文件在/etc/ganglia目录下。
gmetad的责任是收集状态数据,并把数据保存到硬盘,供ui和用户使用。配置没有什么特别的,主要就是data_source,cluster name就是在gmond中定义的那个cluster名字,后面就是从哪台机器的哪一个端口收集信息,所有的状态数据在收集完了以后使用rrdtool保存在硬盘中,保存的目录是/var/rrd/或者/var/lib/ganglia/rrds(主要还是版本所决定的),因为使用了rrdtool,所以状态所占用的空间是固定的,不会随使用的时间而增长,可以去rrdtool的网站了解一下。
Ganglia是一款强大的集群监控软件,提供灵活的数据收集方式。gmond负责节点状态收集,gmetad用于数据汇总与存储。配置文件位置因版本不同而变化,如3.0.7在/etc,3.1.7在/etc/ganglia。gmetad通过data_source设定数据源,使用rrdtool保存状态数据,适用于层级结构的集群监控。
279

被折叠的 条评论
为什么被折叠?



