?官方文档:http://sourceforge.net/apps/trac/ganglia/wiki/ganglia_quick_start
?行文之前,表达一下小郁闷。Ganglia官方把分组监控的帮助文档放到了Quick Start Guide,而不是Configuration,让我一番好找。。。
?
? Ganglia的分组监控,实施起来其实很简单,官方文档已经给出了示例。
? 总结起来,实施分组监控,有下面几个关键点:
? 一是多播和单播。分组监控最好用单播方式,文档也给出了单播模式的配置方式。
? 二是send_metadata_interval设置的间隔时间,官方推荐30秒。
?三、分组监控,要同时修改gmetad.conf和gmond.conf。gmetad.conf中的分组配置非常简单,不必细说。
? 四、分组的标识是gmond.conf配置文件中的cluster name值和port值,同一分组中的机器的这两个值都必须一致,不同组的机器,这两个值不同。
? ? cluster name的值要与gmetad.conf中的相应条目保持一致;port值的配置需要在udp_send_channel、udp_recv_channel和tcp_accept_channel三个部分同时设定,注间端口不要冲突。
?
? ?gmetad.conf,只修改了data_source,其它部分保持原状:
-
data_source?"Internal"?10?192.168.9.53:8649?
-
data_source?"Tangshan"?10?10.64.131:8650?10.10.64.132:8650?
-
data_source?"Jiaxing"?10??10.10.19.170:8653 10.10.19.94:8653
? ?解释一下,每个集群中都有很多服务器,但我们不需要把集群中的每台服务器都写在data_source条目里,因为,虽然在理论上,Ganglia服务器端要到每个节点上去获取监控信息,但实际上不必如此;集群内的每台机器都会保留其它机器的信息,服务器端只需要连接集群内的任意一台机器,就可以整个集群内所有节点的监控信息。
? ?在Tangshan和Jiaxing两个集群的配置中,我写了两台服务器,是一个冗余设计。Ganglia服务器端默认去第一台服务器获取信息,如果这台服务器因为某些原因而没有被获取到,服务器端会自动到第二台服务器上获取监控信息。
?
???gmond.conf,以Tangshan集群为例,修改下列部分,其它保持默认:
-
globals?{?
-
??daemonize?=?yes?
-
??setuid?=?yes?
-
??user?=?nobody?
-
??debug_level?=?0?
-
??max_udp_msg_len?=?1472?
-
??mute?=?no?
-
??deaf?=?no?
-
??allow_extra_data?=?yes?
-
??host_dmax?=?0?/*secs?*/?
-
??cleanup_threshold?=?300?/*secs?*/?
-
??gexec?=?no?
-
??send_metadata_interval?=?30?/*secs?*/?
-
}?
-
?
-
cluster?{?
-
??name?=?"Tangshan"?
-
??owner?=?"hdfs"?
-
??latlong?=?"unspecified"?
-
??url?=?"unspecified"?
-
}?
-
?
-
host?{?
-
??location?=?"unspecified"?
-
}?
-
?
-
udp_send_channel?{?
-
??mcast_join?=?239.2.11.71?
-
??port?=?8650?
-
??ttl?=?1?
-
?
-
}?
-
?
-
udp_recv_channel?{?
-
??mcast_join?=?239.2.11.71?
-
??port?=?8650?
-
??bind?=?239.2.11.71?
-
}?
-
?
-
tcp_accept_channel?{?
-
??port?=?8650????
-
??acl?{?
-
??default?=?"deny"?
-
??access?{?
-
??ip?=?192.168.9.45?
-
??mask?=?32?
-
??action?=?"allow"?
-
??}?
-
?
-
??access?{?
-
??ip?=?10.10.64.0?
-
??mask?=?24?
-
??action?=?"allow"?
-
??}?
-
??}?
-
}?
? 其它分组,只需要修改cluster name,以及port值就可以了!要添加分组,也很简单。
? 监控截图:
本文转自 li_qinshan 51CTO博客,原文链接:http://blog.51cto.com/share/623967