Hunter的大杂烩

November 24, 2010

Ganglia 系统配置

Filed under: 技术话题 — hunter @ 4:49 pm

配置之前,先大概了解一下 ganglia的工作原理,见下面3个图: 

 1544754_1274670538fZK1.jpg

1544754_1274670538rowo.jpg

��1.png

 

ganglia本身设计时,考虑到了多集群、多层级数据收集及上报,主要模式有两种:

1. 集群内节点向其中 1-2 个节点的gmond上报数据,由监控机的 gmetad向各个gmond轮询数据(见图2)

2. 集群内节点上报给本集群gmetad,再由监控机的gmetad收集各个集群gmetad信息(见图3)

 

以下主要介绍模式1:

拓扑如下:

ganglia_arch.jpg

a.  如上图,web cluster中的数据源为 212.96.xx.1,db cluster中,主数据源为 202.96.xx.1,

在两台db server的 gmond.conf 中配置2个 send channel (由于我的机器不支持多播,所以需要设置多个

单播channel,如果服务器支持多播,则所有多播组内的gmond会共享所有机器节点的数据)

udp_send_channel {
  host = 192.168.0.1
  port = 8648
  ttl = 1
}
udp_send_channel {
  host = 192.168.0.2
  port = 8648
  ttl = 1
}

这样192.168.0.1/2 两台机器会将自身的数据同时传递给两个数据源,使得db cluster有热备数据源;

 

b. 在gmetad.conf里面增加两个数据源地址:

data_source “web” 212.96.xx.1
data_source “db” 202.96.xx.1 202.96.xx.2 #xx.2 是热备,只有在 xx.1无法连接时,才会读取 xx.2的数据

 

c. 重启各个gmond,在数据源机器上执行:

    /usr/local/ganglia/bin/gstat -a

   观察是否数据源采集了所有服务器的信息,如无则需要检查相关端口是否配置错误

配置完毕的监控视图如下:

qq11.jpg

 

参考文献:

http://sourceforge.net/apps/trac/ganglia/wiki/FAQ
http://blog.csdn.net/skyboy_man/archive/2010/05/19/5607256.aspx
http://www.ibm.com/developerworks/cn/linux/l-ganglia-nagios-1/index.html

No Comments

No comments yet.

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.

Powered by WordPress