Ganglia3.6.0监控hadoop-2.20集群和hbase-0.96.0集群
ganglia介绍:
Ganglia 是 UC Berkeley 发起的一个开源监视项目,设计用于测量数以千计的节点。每台计算机都运行一个收集和发送度量数据(如处理器速度、内存使用量等)的名为 gmond 的守护进程。它将从操作系统和指定主机中收集。接收所有度量数据的主机可以显示这些数据并且可以将这些数据的精简表单传递到层次结构中。正因为有这种层次结构模式,才使得 Ganglia 可以实现良好的扩展。gmond 带来的系统负载非常少,这使得它成为在集群中各台计算机上运行的一段代码,而不会影响用户性能。
Ganglia 监控套件包括三个主要部分:gmond,gmetad,和ganglia-web。
Gmond :是一个守护进程,他运行在每一个需要监测的节点上,收集监测统计,发送和接受在同一个组播或单播通道上的统计信息如果他是一个发送者(mute=no)他会收集基本指标,比如系统负载(load_one),CPU利用率。他同时也会发送用户通过添加C/Python 模块来自定义的指标。 如果他是一个接收者(deaf=no)他会聚合所有从别的主机上发来的指标,并把它们都保存在内存缓冲区中。
Gmetad:也是一个守护进程,他定期检查gmonds,从那里拉取数据,并将他们的指标存储在RRD存储引擎中。他可以查询多个集群并聚合指标。他也被用于生成用户界面的web前端。
Ganglia-web :顾名思义,他应该安装在有gmetad运行的机器上,以便读取RRD文件。 集群是主机和度量数据的逻辑分组,比如数据库服务器,网页服务器,生产,测试,QA等,他们都是完全分开的,你需要为每个集群运行单独的gmond实例。
一般来讲
Ganglia server:运行gmetad,apahce2+php,rrdtool
Ganglia Client:运行 gmond
Ganglia运行模式(单播与多播)
Ganglia的收集数据工作可以工作在单播(unicast)或多播(multicast)模式下,默认为多播模式。
单播:发送自己收集到的监控数据到特定的一台或几台机器上,可以跨网段。
多播:发送自己收集到的监控数据到同一网段内所有的机器上,同时收集同一网段内的所有机器发送过来的监控数据。因为是以广播包的形式发送,因此需要同一网段内。但同一网段内,又可以定义不同的发送通道。
Ganglia工作流如图所示:
左边是运行在各个节点上的gmond进程,这个进程的配置只由节点上/etc/gmond.conf的文件决定。所以,在各个监视节点上都需要安装和配置该文件。
右上角是更加负责的中心机(通常是这个集群中的一台,也可以不是)。在这个台机器上运行这着gmetad进程,收集来自各个节点上的信息并存储在RRDtool上,该进程的配置只由/etc/gmetad.conf决定。
右下角显示了关于网页方面的一些信息。我们的浏览网站时调用php脚本,从RRDTool数据库中抓取信息,动态的生成各类图表。
安装部署(多播):
Ganglia3.6.0+ganglia-web3.5.12安装文档
共20台机器,建议如下(参照先前安装文档)
主机名 |
master1 |
master2 |
master3 |
master4 |
master5 |
slave1 |
…… |
slave15 |
服务 |
gmond |
gmond |
gmond |
gmond data_source |
gmetad(ganglia-web) gmond data_source (apache2+php) |
gmond
|
…… |
gmond
|
标识 |
Client |
Client |
Client |
Client |
Ganglia server |
Client |
…… |
Client |
访问:http://master5/ganglia-web查看
Ganglia Server端安装
首先是各种主要依赖包的安装
confuse, pcre ,expant,apr,par-util, , httpd,php, ,rrdtool
若中间出现其他依赖问题请自行安装
###############################################################################
#下载confuse并编译安装
tarzxvf confuse-2.7.tar.gz
cdconfuse-2.7
./configureCFLAGS=-fPIC --disable-nls --prefix=/usr/local/confuse
make&& make install
#64位操作系统需要拷贝链接库文件
mkdir -p /usr/local/confuse/lib64
cp -a -f /usr/local/confuse/lib/*/usr/local/confuse/lib64/
#####################################################################
# 下载pcre并编译安装
tar -xf pcre-8.32.tar.gz && cd pcre-8.32
./configure --prefix=/usr/local/pcre
make && make install
#64位操作系统需要拷贝链接库文件