Ganglia分布式集群监控系统安装手册

转载 2013年12月02日 20:53:30

一、Ganglia分布式监控系统简介

Ganglia是UC Berkeley发起的一个开源集群监视项目。它主要是用来监控系统性能,如:CPU 、Memory、硬盘利用率, I/O负载、网络流量情况等。Ganglia通过图形化的方式展示每个节点的状态信息,这对合理调整、分配系统资源,提高系统整体性能起到重要作用。Ganglia包含三个核心组件:Ganglia Monitoring Daemon(gmond)、Ganglia Meta Daemon(gmetad)以及Ganglia PHP Web Frontend。

Gmond组件

Gmond组件部署于集群中各个被监控的节点。其主要功能是从操作系统或指定的主机收集状态信息。其收集主机状态信息的方式灵活,状态信息均以XML格式进行传输。Gmond组件可以级联形成层次结构,这种层次结构使得Ganglia拥有良好的可扩展性。另外,Gmond组件带来的系统负载非常少,对用户的影响非常小。Gmond组件的工作模式有两种:单播和多播。单播模式下,Gmond组件发送其收集的主机状态信息到指定的一个或多个节点,可以跨网段;多播模式下,Gmond组件发送其监控的主机状态信息到同一网段内的所有节点,同时还接收同一网段内其他节点发送的状态信息。

Gmetad组件

Gmetad组件可以部署于集群中的某一节点,也可以部署于集群外的某一专门服务器,其主要功能是周期性地从指定的Gmond组件或其他Gmetad组件拉取数据,并将拉取的数据存储在本地数据库。这些存储的状态信息供Ganglia-Web组件使用。

Ganglia-Web组件

Ganlgia-Web组件和Gmetad组件须部署于同一节点,它通过数据库轮询的方式从Gmetad组件中获取状态信息,并以web形式图形化地展示各个节点的状态信息。

Overview of Ganglia Node

Details of Ganglia Node

Ganglia Cluster Data Flow

 

二、CentOS下搭建Ganglia分布式监控系统

 

1、安装依赖

 

1) Ganglia依赖于以下系统软件包,请先检查这些软件包是否正确安装。所缺软件包建议通过YUM源方式安装。安装这些包,需要CentOS-Base.repo。后续安装步骤中可能用到源epel.repo。

 

Java代码  收藏代码
  1. yum install apr-develapr-util check-devel cairo-devel pango-devel libxml2-devel rpmbuild glib2-develdbus-devel freetype-devel fontconfig-devel gcc-c++ expat-devel python-devellibXrender-devel  

 

2) 安装confuse

 

 

 

Java代码  收藏代码
  1. rpm –ivhlibconfuse-2.6-2.el5.rf.x86_64.rpm  
  2. rpm –ivhlibconfuse-devel-2.6-2.el5.rf.x86_64.rpm  

 

 

  • 通过源码编译方式安装 (confuse

 

 

Java代码  收藏代码
  1. tar zxvf confuse-2.7.tar.gz  
  2. ./confuse-2.7/configure CFLAGS=-fPIC --disable-nls  
  3. ./confuse-2.7/make&& make install  

 

在以源码编译方式安装confuse时,如果环境是64位操作系统,则configure参数不可以省略,否则源码编译安装Ganglia时会出错。

3) 安装RRDTool(Ganglia依赖于RRDTool数据库轮询工具来更新Ganglia-Web页面)

 

  • 通过YUM源方式安装

 

 

Java代码  收藏代码
  1. yum install rrdtool  

 

 

  • 通过源码编译方式安装 rrdtool

 

 

Java代码  收藏代码
  1. tar zxvfrrdtool-1.4.6.tar.gz  
  2. ./rrdtool-1.4.6/configure--prefix=/usr  
  3. ./rrdtool-1.4.6/make&& make install  

 

在以源码编译方式安装时,configure的参数--prefix用来指定安装目录,便于后续安装指定路径。

4) 安装Apache+PHP(仅gmetad组件和ganglia-web组件所在节点须配置此项)

 

  • 通过YUM源方式安装

 

 

Java代码  收藏代码
  1. yum install httpd php apr  

 

2、安装Ganglia

安装前请先检查/usr/include/rrd.h/usr/lib/librrd.a文件是否存在。如不存在,可分别创建指向这两个文件的软链接。

 

  • 通过YUM源方式安装

 

 

Java代码  收藏代码
  1. yum install gangliaganglia-gmond ganglia-gmetad ganglia-web  

 

 

  • 通过源码编译方式安装ganglia ganlia-web)

 

 

Java代码  收藏代码
  1. tar zxvfganglia-3.4.0.tar.gz  
  2. ./ganglia-3.4.0/configure--with-gmetad  
  3. ./ganglia-3.4.0/make&& make install  

 

在以源码编译方式安装时,configure如果不指定参数--with-gmetad则只安装gmond组件。

3、配置Ganglia

1) 获取Ganglia配置文件

 

  • 如果通过YUM源方式安装,则配置文件已自动生成,配置文件存放于/etc目录。
  • 如果通过源码编译方式安装,Ganglia的配置信息需要手动生成。

 

首先需要创建配置文件存储目录

 

Java代码  收藏代码
  1. mkdir /etc/ganglia  

 

Gmond组件的默认配置文件可自动生成

 

Java代码  收藏代码
  1. gmond –t | tee/etc/ganglia/gmond.conf  

 

Gmetad组件的配置文件为源码包中的package/gmetad/gmetad.conf

 

Java代码  收藏代码
  1. cp<package>/gmetad/gmetad.conf /etc/ganglia/gmetad.conf  

 

2) 配置文件。不管采用哪种安装方法,其配置方法如下:

 

  • gmond.conf配置项目

 

 

Java代码  收藏代码
  1. /*配置集群信息,主要配置集群名称*/  
  2. cluster {  
  3.      name = "Flume"  
  4.      owner = "Cooper"  
  5.      latlong = "unspecified"  
  6.      url = "unspecified"  
  7. }  
  8. /*配置UPD发送管道,用于发送UPD单播或多播状态信息*/  
  9. udp_send_channel {  
  10.      host = 111.111.111.***  
  11.      port = 8649  
  12.      ttl = 1  
  13. }  
  14. /*配置UPD接收端口,用于接收其他节点发送到UPD单播或多播状态信息*/  
  15. udp_recv_channel {  
  16. port = 8649  
  17. }  
  18. /*配置Gmond组件收集的信息,可配置状态信息采集时间,最大采集时间间隔和监控值阈等*/  
  19. /*Gmond组件的状态信息收集项已经默认配置完成,可根据实际需要更改收集时间阈和值阈*/  
  20. collection_group {  
  21.      collect_once = yes  
  22.      time_threshold = 20  
  23.      metric {  
  24.           name = "heartbeat"  
  25.      }  
  26. }  

 

 

  • gmetad.conf配置项目

 

 

Java代码  收藏代码
  1. /*配置周期性拉取信息的数据源*/  
  2. data_source"Flume" 111.111.111.***:8649  
  3. /*可配置拉取周期、拉取节点等,如果gmetad需要拉取多个节点的信息,以空格分隔配置*/  
  4. # data_source"cluster" 10 localhost my.machine.edu:8649 1.2.3.5:8655  
  5. # data_source"grid" 50 1.3.4.7:8655 grid.org:8651 grid-backup.org:8651  
  6. # data_source"source" 1.3.4.7:8655 1.3.4.8  

 

 

  • 配置文件完成后,将gmond和gmetad注册为系统服务

 

 

Java代码  收藏代码
  1. chkconfig –-add gmond  
  2. chkconfig –-add gmetad  

 

 

  • 启动服务

 

 

Java代码  收藏代码
  1. service gmond start  
  2. service gmetad start  
  3. service httpd srart  

 

附1、使用Gmetric定制监控信息

Gmetric组件是可选组件,所以配置之前,请确认Gmetric组件已经正确安装。Gmetric组件通过执行定制的脚本,将返回结果返回给Gmond组件。

 

Java代码  收藏代码
  1. ll /usr/bin/gmetric  
  2. vi/root/gmetric_scripts.sh  
  3. chmod 755/root/gmetric_scripts.sh  
  4. /root/gmetric_scripts.sh  
  5. /*将脚本服务添加到crontab,设置周期性运行*/  
  6. crontab –e  
  7. /1 * * * * /root/mcd_gmetric.sh  

 

在此提供一个共享的脚本库【猛击这里

附2、监控Hadoop集群

/*配置Hadoop文件*/

 

Java代码  收藏代码
  1. /*这里所配置的IP地址,是指Gmond组件指定的多播地址,不是Gmetad组件所在地节点地址*/  
  2. # Configuration of the"dfs" context for ganglia  
  3. dfs.class=org.apache.hadoop.metrics.ganglia.GangliaContext  
  4. dfs.period=10  
  5. dfs.servers=10.224.192.***:8649  
  6.    
  7. # Configuration of the"mapred" context for ganglia  
  8. mapred.class=org.apache.hadoop.metrics.ganglia.GangliaContext  
  9. mapred.period=10  
  10. mapred.servers=10.224.192.***:8649  
  11.    
  12. # Configuration of the"jvm" context for ganglia  
  13. jvm.class=org.apache.hadoop.metrics.ganglia.GangliaContext  
  14. jvm.period=10  
  15. jvm.servers=10.224.192.***:8649  



有关ganglia和系统监控

转自:http://news.zdnet.com.cn/zdnetnews/2008/0911/1121118.shtml     假设一个场景:你是一个自负的系统管理员,现在有一个全新的计算群组坐...
  • nuoline
  • nuoline
  • 2013年02月25日 18:34
  • 574

在线安装Ganglia3.6.0,nginx+php搭建gweb,绝对通过

在线安装最新版ganglia3.6
  • xxd851116
  • xxd851116
  • 2014年05月09日 00:17
  • 6642

Ganglia在CentOS7_x86_64上的yum安装与配置

Ganglia在CentOS7_x86_64上的yum安装与配置 2016年8月15日 (本文档来自网上,我个人添加并且修改了一些内容,红色是我添加的部分) 0     前记:        ...
  • sinat_18497785
  • sinat_18497785
  • 2016年08月20日 10:12
  • 2130

安装配置实践Ganglia-监控集群

Ganglia是UC Berkeley发起的一个开源集群监视项目,设计用于测量数以千计的节点。Ganglia的核心包含gmond、gmetad以及一个Web前端。Ganglia集群主要用来监控系统性能...
  • xiongbamima
  • xiongbamima
  • 2015年09月15日 15:07
  • 1881

CentOS6.8 安装Ganglia监控系统

最近研究了一下Hadoop结合很好的监控工具,在做hadoop平台的时候这个工具对于系统的监控有非常好的帮助。 最近部署了30台机器的环境,使用状况还是不错的。 参考了网络文章进行安装,其中发生了...
  • tornadojava
  • tornadojava
  • 2017年03月09日 15:47
  • 573

ganglia 安装配置指南

引言 Ganglia 是 UC Berkeley 发起的一个开源监视项目,设计用于测量数以千计的节点。每台计算机都运行一个收集和发送度量数据(如处理器速度、内存使用量等)的名为 gmond 的守护进...
  • gong_xucheng
  • gong_xucheng
  • 2014年05月20日 16:56
  • 11298

Ganglia 权威指南-安装Ganglia过程

由Ganglia的设计者和维护人员亲自执笔,知识性和权威性毋庸置疑。本书不但展示了如何从任意规模的集群、网格或云基础架构中收集系统指标并使其可视化,而且为如何针对20 000台主机每10秒跟踪一次CP...
  • xxd851116
  • xxd851116
  • 2014年03月19日 13:44
  • 33643

安装ganglia监控hadoop集群

ganglia安装     Ganglia 是 UC Berkeley 发起的一个开源监视项目,设计用于测量数以千计的节点。每台计算机都运行一个收集和发送度量数据(如处理器速度、内存使用量等)的名...
  • sang1203
  • sang1203
  • 2016年08月26日 16:09
  • 1558

Ganglia的安装、配置、运行

一、安装ganglia: 网上示例很多,对该部分的翻译后续再跟进。 二、配置ganglia: 默认的配置仅仅能使ganglia工作,如果了解比默认配置多的配置项,能帮助你更好的使用ganglia做...
  • xhb306286215
  • xhb306286215
  • 2017年05月24日 09:12
  • 852

ganglia安装教程

ganglia 安装教程依赖软件 http://nchc.dl.sourceforge.net/project/pcre/pcre/8.32/pcre-8.32.tar.gz tar xvzf...
  • wuwenxiang91322
  • wuwenxiang91322
  • 2015年05月22日 14:15
  • 2271
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Ganglia分布式集群监控系统安装手册
举报原因:
原因补充:

(最多只允许输入30个字)