Ganglia分组监控

官方文档: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,其它部分保持原状:

  1. data_source "Internal" 10 192.168.9.53:8649
  2. data_source "Tangshan" 10 10.64.131:8650 10.10.64.132:8650
  3. data_source "Jiaxing" 10 10.10.19.170:8653 10.10.19.94:8653

解释一下,每个集群中都有很多服务器,但我们不需要把集群中的每台服务器都写在data_source条目里,因为,虽然在理论上,Ganglia服务器端要到每个节点上去获取监控信息,但实际上不必如此;集群内的每台机器都会保留其它机器的信息,服务器端只需要连接集群内的任意一台机器,就可以整个集群内所有节点的监控信息。

在Tangshan和Jiaxing两个集群的配置中,我写了两台服务器,是一个冗余设计。Ganglia服务器端默认去第一台服务器获取信息,如果这台服务器因为某些原因而没有被获取到,服务器端会自动到第二台服务器上获取监控信息。

gmond.conf,以Tangshan集群为例,修改下列部分,其它保持默认:

  1. globals {
  2. daemonize = yes
  3. setuid = yes
  4. user = nobody
  5. debug_level = 0
  6. max_udp_msg_len = 1472
  7. mute = no
  8. deaf = no
  9. allow_extra_data = yes
  10. host_dmax = 0 /*secs */
  11. cleanup_threshold = 300 /*secs */
  12. gexec = no
  13. send_metadata_interval = 30 /*secs */
  14. }
  15.  
  16. cluster {
  17. name = "Tangshan"
  18. owner = "hdfs"
  19. latlong = "unspecified"
  20. url = "unspecified"
  21. }
  22.  
  23. host {
  24. location = "unspecified"
  25. }
  26.  
  27. udp_send_channel {
  28. mcast_join = 239.2.11.71
  29. port = 8650
  30. ttl = 1
  31.  
  32. }
  33.  
  34. udp_recv_channel {
  35. mcast_join = 239.2.11.71
  36. port = 8650
  37. bind = 239.2.11.71
  38. }
  39.  
  40. tcp_accept_channel {
  41. port = 8650
  42. acl {
  43. default = "deny"
  44. access {
  45. ip = 192.168.9.45
  46. mask = 32
  47. action = "allow"
  48. }
  49.  
  50. access {
  51. ip = 10.10.64.0
  52. mask = 24
  53. action = "allow"
  54. }
  55. }
  56. }

其它分组,只需要修改cluster name,以及port值就可以了!要添加分组,也很简单。

监控截图:

Ganglia分组监控

相关推荐