Ganglia是一个集群监控软件,底层使用RRDTool获得数据。Ganglia分为ganglia-monitor和gmetad两部分,前 者运行在集群每个节点上,收集RRDTool产生的数据,后者运行在监控服务器上,收集每个ganglia-monitor的数据,通过Web UI可以看到直观的各种图表。
      
       在Ubuntu上安装Ganglia非常简单,首先安装下面三个包。因为要使用Web服务器才能看到图表,所以如果没有安装apache的话,会自动安装apache服务器.
      
        
      
      
        1、sudo apt-get install ganglia-monitor ganglia-webfrontend
      
      
       安装完成之后,启动apache2服务器,gmetad和gmond两个服务会运行起来,使用下面的命令可以启动这两个服务。
      
       view sourceprint?
    
  
    
      
        2、sudo service gmetad start
      
      
         
    
    
      
    
  
| 
          
            启动成功:Starting Ganglia Monitor Meta-Daemon: gmetad.
             sysv-rc-conf gmetad on (ubuntu 下sysv-rc-conf 命令等同redhat 下的chkconfig 命令) sysv-rc-conf --list gmetad GMETAD 0:off 1:off 2:on 3:on 4:on 5:on 6:off 验证gmetad 正常工作:telnet localhost 8651就可以得到监控的各个主机的状态。  | 
      
    
      
        3、sudo service ganglia-monitor start
      
      
           
    
    
      
    
  
| 
          
            启动成功 Starting Ganglia Monitor Daemon: gmond
             sysv-rc-conf gmond on (ubuntu 下sysv-rc-conf命令等同redhat下chkconfig命令) sysv-rc-conf —list gmond gmond 0:off 1:off 2:on 3:on 4:on 5:on 6:off service gmond start Starting GANGLIA gmond: [ OK ] 验证gmond正常工作:telnet localhost 8649 就可以获取机群内运行gmond的主机的信息  | 
      
    
      
        4、 sudo /etc/init.d/apache2 restar
      
      
    
  
| 
          
            *Restartingwebserver apache2                                                                                                                             apache2: Could not reliably determine the server's fully qualified domain name, using 172.16.205.55 for ServerName
             ... waiting apache2: Could not reliably determine the server's fully qualified domain name, using 172.16.205.55 for ServerName  | 
      
    
      
    
  
    
           
      
       因为ganglia-webfront这个包默认将Web相关的代码安装在”/usr/share/ganglia-webfrontend/”路径下,这样apache访问不到。可以使用软链接,或者直接将目录移到”/var/www/”目录下。
      
       view sourceprint
    
  
| 
          
            sudo ln -s /usr/share/ganglia-webfrontend/ /var/www/ganglia  
             或者: sudo mv /usr/share/ganglia-webfrontend/ /var/www/ganglia  | 
      
    
      
       接着在浏览器输入”http://localhost/ganglia”就可以看到Web UI了。使用Chrome时,总是会将index.php主页下载下来,不知道为何。使用Firefox一切都很正常。Web UI如下:
      
        
      
    
  
    
      这里只有一个Grid,并且这个Grid只有一个节点。往Grid里面添加节点是很简单的,只需要在该节点的/etc/ganglia/gmond.conf指明加入cluster的名字和该cluster多播地址就可以了。
      
        
      
    
  
    
      
        配置服务器端
      
      
       1、修改 sudo vi gmetad.conf 文件
      
             配置集群的服务器IP及相应的名称
      
    
  
    
      # data_source "my grid" 50 1.3.4.7:8655 grid.org:8651 grid-backup.org:8651  
·  # data_source "another source" 1.3.4.7:8655  1.3.4.8  
·    
·  data_source "cloudsearch-server" localhost  
·  data_source "cloudsearch-crawler" 172.16.205.55  
    
  
  
    
      
      
        2、配置集群监控的名称
      
       # The name of this Grid. All the data sources above will be wrapped in a GRID # tag with this name. # default: unspecified  gridname "cloudsearch"
      
        
      
       配置完成后重新启动sudo service gmetad restart 
    
  
    
      
      
        配置客户端
      
      
       1、全局配置参数
      
             注意user=nobody这个属于要与服务端的 setuid_username "nobody" 名称一致
      
    
  
    
      globals {                                                                              
  daemonize = yes             
  setuid = yes            
  user = nobody             
  debug_level = 0              
  max_udp_msg_len = 1472       
  mute = no                                                                            
  deaf = no                                                                            
  host_dmax = 0 /*secs */
  cleanup_threshold = 300 /*secs */                                                    
  gexec = no            
  send_metadata_interval = 0    
} 
    
  
  
    
      
      
        
      
       2、修改监控组名称
      
    
  
    
      ·  # tag with this name.  
·  # default: unspecified  
·   gridname "cloudsearch"
    
  
  
    
      
        
      
       配置完成后重新启动sudo service ganglia-monitor restart 
    
  
    
      
        安装期间遇到的问题及解决方案:
      
      
        
      
       异常 提示说要把rrd的权限设置给nobody用户组:
      
       Starting Ganglia Monitor Meta-Daemon: Please make sure that /var/lib/ganglia/rrds is owned by nobody
      
       解决方案
      
    
  
    
      1、sudo chown -R nobody /var/lib/ganglia/rrds
2、sudo service gmetad restart
    
  
  
    
      
       异常:
      
       There was an error collecting ganglia data (127.0.0.1:8652): fsockopen error: Connection refused
      
       解决方案
      
       1、检查监控的服务器端的ganglia是否正常安装启动,并且能输入http://localhost/ganglia能访问到相关的信息
      
       2、或者重新启动sudo service gmeta restar
      
      
      
    
  

