Ganglia监控搭建
一.Ganglia介绍:
Ganglia是一个监控服务器、集群的开源软件,能够用曲线图表现最近一个小时,最近一天,最近一周,最近一月,最近一年的服务器或者集群的cpu负载,内存,网络,硬盘等指标。Ganglia的强大在于:ganglia服务端能够通过一台客户端收集到同一个网段的所有客户端的数据,ganglia集群服务端能够通过一台服务端收集到它下属的所有客户端数据。这个体系设计表示一台服务器能够通过不同的分层能够管理上万台机器。这个功能是其他mrtg,nagios,cacti所不能比拟。
官方网站:http://ganglia.info
ganglia的下载地址 http://sourceforge.net/projects/ganglia
windows版windows客户端版和ganglia 源码包:
http://www.sajinet.com.pe/ganglia/
二.Ganglia的安装:
ganglia的安装分为服务端和客户端和web端安装。一般情况下将web端和服务端安装在同一机器上即可,本文采用此方式安装。
安装ganglia前需安装以下依赖包:
zlib,freetype,libart,libpng,rrdtool,apr,apr-util,expat,confuse,pcre
web端采apache或nginx,另外需要php支持。
1. 安装前准备:
关闭iptables、和selinux
如果监控信息中采用主机名,请先在在/etc/hosts文件配置地址解析。
配置yum源,用于安装一些rpm包。
2. 安装路径规划:

3. 软件包版本:
httpd-2.2.27.tar.gz
php-5.5.16.tar.gz
libiconv-1.14.tar.gz #php依赖
ganglia-3.6.0.tar.gz
ganglia-web-3.5.10.tar.gz
expat-2.0.1.tar.gz
confuse-2.7.tar.gz
apr-1.5.1.tar.gz
apr-util-1.5.3.tar.gz
pcre-8.33.tar.gz
4. 安装依赖包:
通过以下命令检查系统是否已经安装相应的包,如果没有安装,使用rpm或yum进行安装:
rpm –qa|grep zlib
rpm –qa|grep freetype
rpm –qa|grep libart
rpm –qa|grep libpng
4.1 安装rrdtool:
tar zxf rrdtool-1.4.5.tar.gz
cd rrdtool-1.4.5
./configure -prefix=/usr/local/rrdtool
make
make install
验证是否安装成功:
运行命令/usr/local/rrdtool/bin/rrdtool
如果出现以下文字说明安装成功:
RRDtool 1.4.5 Copyright 1997-2010 by Tobias Oetiker<tobi@oetiker.ch>
Compiled Jul 26 2011 18:27:11
.......
configure 时报错:
configure: error: Please fix the library issues listed above and try again.
解决办法:
yum -y install libart_lgpl-devel pango-devel cairo-devel
4.2 安装expat:
tar zxf expat-2.0.1.tar.gz
cd expat-2.0.1
./configure --prefix=/usr/local/expat
make
make install
mkdir /usr/local/expat/lib64
cp -a /usr/local/expat/lib/* /usr/local/expat/lib64/
#32系统不需要执行以下两步
4.3 安装apr和apr-util
tar -zxf apr-1.5.1.tar.gz
cd apr-1.5.1
./configure --prefix=/usr/local/apr
make
make install
tar zxf apr-util-1.5.3.tar.gz
cd apr-util-1.5.3
./configure -with-apr=/usr/local/apr -with-expat=/usr/local/expat
make
make install
cp /usr/local/apr/include/apr-1/* /usr/local/apr/include/ #此步要非常注意,不然编译ganglia的时候报apr的include文件找不到
mkdir /usr/local/apr/lib64
cp -a /usr/local/apr/lib/* /usr/local/apr/lib64/
# 32位操作系统不用做上面两步
4.4安装confuse
tar -zxf confuse-2.7.tar.gz
cd confuse-2.7
./configure CFLAGS=-fPIC --disable-nls --prefix=/usr/local/confuse
make
make install
mkdir /usr/local/confuse/lib64
cp -a /usr/local/confuse/lib/* /usr/local/confuse/lib64/
# 32位操作系统不用做上面两步
4.5 安装pcre
tar -zxf pcre-8.33.tar.gz
cd pcre-8.33
./configure
make
make install
5. 安装ganglia服务端相关软件:
ganglia监控服务的主节点需要安装:ganglia、ganglia-web、php、apache
5.1安装apache
tar -zxf httpd-2.2.27.tar.gz
cd httpd-2.2.27
./configure --prefix=/app/sinova/apache --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ --enable-ssl --enable-so --enable-mods-shared=all
make
make install
5.3 安装libiconv
tar -zxf libiconv-1.14.tar.gz
cd libiconv-1.14
./configure --prefix=/usr/local/libiconv
make
make install
5.4 安装php
tar -zxf php-5.5.16.tar.gz
cd php-5.5.16
./configure --prefix=/usr/local/php5/ --with-apxs2=/app/sinova/apache/bin/apxs --with-iconv=/usr/local/libiconv
make
make install
5.5安装ganglia
tar -zxf ganglia-3.6.0.tar.gz
cd ganglia-3.6.0
./configure --prefix=/usr/local/ganglia --with-librrd=/usr/local/rrdtool --with-libapr=/usr/local/apr --with-libexpat=/usr/local/expat --with-libconfuse=/usr/local/confuse --with-gmetad --enable-gexec --enable-status --sysconfdir=/etc/ganglia
make
make install
为rrdtool创建数据存放目录(此目录可自行定义,但需要注意的是ganglia配置文件中默认的是/var/lib/ganglia/rrds,如果定义其它目录,需要修改配置文件)
mkdir -p /var/lib/ganglia/rrds
chown -R nobody:nobody /var/lib/ganglia/rrds
将gmetad添加到系统服务
cp {ganglia解压目录}/gmetad/gmetad.init /etc/init.d/gmetad
将gmetad命令加入到/usr/sbin/目录
cp /usr/local/ganglia/sbin/gmetad /usr/sbin/
gmetad给 chkconfig托管
chkconfig --add gmetad
启动gmetad服务
service gmetad start
启动gmetad服务如遇以下错误:
Starting GANGLIA gmetad: /usr/sbin/gmetad: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory
[FAILED]
解决办法: ln -s /usr/local/lib/libpcre.so.1 /lib64
5.6 安装并配置ganglia-web
tar zxf ganglia-web-3.5.10.tar.gz -C /app/sinova/apache/htdocs/
cd /app/sinova/apache/htdocs/ganglia-web-3.5.10
cp conf_default.php conf.php
编辑conf.php文件,修改如下参数:
$conf['gweb_confdir'] = "/app/sinova/apache/htdocs/ganglia-web-3.5.10";
$conf['gmetad_root'] = " /usr/local/ganglia";
$conf['rrdtool']="/usr/local/rrdtool/bin/rrdtool" ;
$conf['rrds'] = "/var/lib/ganglia/rrds";
编辑 header.php 文件,添加或修改如下参数:
<?php
session_start();
ini_set('date.timezone','Asia/Shanghai'); --修改时区为本地时区
if (isset($_GET['date_only'])) {
$d = date("r");
echo $d;
exit(0);
}
配置临时目录:
cd /app/sinova/apache/htdocs/ganglia-web-3.5.10/dwoo
mkdir cache
mkdir compiled
chmod 777 cache
chmod 777 compiled
5.7配置ganglia:
vi /etc/ganglia/gmetad.conf #修改gmetad.conf配置文件
data_source "Eivll0m" 10 localhost 192.168.0.103
rrd_rootdir "/var/lib/ganglia/rrds"
重启gmetad服务:
service gmetad restart
5.8使用apache发布ganglia-web
编辑 /app/sinova/apache/conf/httpd.conf文件,添加或修改如下内容:
ServerName 192.168.0.105:80
Listen 80
User sinova
Group sinova
<IfModule dir_module>
DirectoryIndex index.html index.php
AddType application/x-httpd-php .php
</IfModule>
# 在文件最后增加如下内容
#ganglia
Alias /ganglia "/app/sinova/apache/htdocs/ganglia-web-3.5.10"
<Directory "/app/sinova/apache/htdocs/ganglia-web-3.5.10">
AuthType Basic
Options None
AllowOverride None
Order allow,deny
Allow from all
</Directory>
启动httpd服务
/app/sinova/apache/bin/apachectl start
以上为ganglia服务端配置,如果ganglia需要监控自身,需要配置gmond(客户端):
将gmond加入系统服务
cp {ganglia解压目录}/gmond/gmond.init /etc/init.d/gmond
将gmond命令加入到/usr/sbin/目录
cp /usr/local/ganglia/sbin/gmond /usr/sbin/
生成gmond的默认配置文件
gmond --default_config > /etc/ganglia/gmond.conf
执行以上步骤上时遇到以下错误:
gmond: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory
解决办法:ln -s /usr/local/lib/libpcre.so.1 /lib64
将gmond给 chkconfig托管
chkconfig --add gmond
修改gmond配置文件/etc/ganglia/gmond.conf
globals {
daemonize = yes
setuid = yes
user = nobody
debug_level = 0
max_udp_msg_len = 1472
mute = no
deaf = no
…..省略
}
cluster {
name = "Eivll0m"
owner = "nobody"
latlong = "unspecified"
url = "unspecified"
}
开启gmond服务
service gmond start
访问ganglia web监控页面:
http://192.168.0.105/ganglia

可以发现ganglia目前监控的的主机只有它自己:

接下来我们继续在另外一台主机上安装ganglia客户端:
6.安装ganglia客户端(gmond)
安装之前先安装上述依赖包,此处不再赘述。
tar zxf ganglia-3.6.0.tar.gz
./configure --prefix=/usr/local/ganglia --prefix=/usr/local/ganglia --with-librrd=/usr/local/rrdtool --with-libapr=/usr/local/apr --with-libexpat=/usr/local/expat --with-libconfuse=/usr/local/confuse --enable-gexec -enable-status --sysconfdir=/etc/ganglia
#比gmetad时少“–with-gmetad”参数
make
make install
将gmond加入系统服务
cp {ganglia解压目录}/gmond/gmond.init /etc/init.d/gmond
将gmond命令加入到/usr/sbin/目录
cp /usr/local/ganglia/sbin/gmond /usr/sbin/
生成gmond的默认配置文件
gmond --default_config > /etc/ganglia/gmond.conf
报错:gmond --default_config >/etc/ganglia/gmond.conf
gmond: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory
解决办法:ln -s /usr/local/lib/libpcre.so.1 /lib64
将gmond给 chkconfig托管
chkconfig --add gmond
修改gmond配置文件/etc/ganglia/gmond.conf
cluster {
name = "Eivll0m" #设置服务端主机名
owner = "nobody"
latlong = "unspecified"
url = "unspecified"
}
开启gmond服务
service gmond start
再来刷新一下监控页面:

可以看到现在监控的主机为2台:

至此ganglia监控搭建完毕,监控节点可以随意增加,只要进行安装配置即可。
Ganglia监控搭建的更多相关文章
- Ganglia环境搭建并监控Hadoop分布式集群
简介 Ganglia可以监控分布式集群中硬件资源的使用情况,例如CPU,内存,网络等资源.通过Ganglia可以监控Hadoop集群在运行过程中对集群资源的调度,作为简单地运维参考. 环境搭建流程 1 ...
- Ganglia监控扩展实现机制
Ganglia监控扩展实现机制 默认安装完成的Ganglia仅向我们提供基础的系统监控信息,通过Ganglia插件可以实现两种扩展Ganglia监控功能的方法.1.添加带内(in-band)插件,主要 ...
- 使用ganglia监控hadoop及hbase集群
一.Ganglia简介 Ganglia 是 UC Berkeley 发起的一个开源监视项目,设计用于测量数以千计的节点.每台计算机都运行一个收集和发送度量数据(如处理器速度.内存使用量等)的名为 gm ...
- Ganglia安装搭建
Ganglia的安装部署 前言 1 一.Ganglia组件 1 二.安装依赖 2 三.安装expat依赖 2 四.安装confuse 3 五.安装ganglia 4 六. 服务端配置(gmetad 节 ...
- LNMP+zabbix分布式监控搭建及版本升级
LNMP+zabbix分布式监控搭建需要组件:gcc gcc-c++ openssl* pcre pcre-devel gd gd-devel libjpeg-devel libpng-devel l ...
- Ganglia监控Hadoop集群的安装部署[转]
Ganglia监控Hadoop集群的安装部署 一. 安装环境 Ubuntu server 12.04 安装gmetad的机器:192.168.52.105 安装gmond的机 器:192.168.52 ...
- ganglia监控hadoop2.0配置方法
ganglia监控hadoop2.0配置方法前提:hadoop2.0集群已安装ganglia监控工具第一步:Hadoop用户登录集群每一个节点,修改文件:vi /opt/hadoop-2.0.0-cd ...
- Ganglia 监控Hadoop
Ganglia监控Hadoop集群的安装部署 一. 安装环境 Ubuntu server 12.04 安装gmetad的机器:192.168.52.105 安装gmond的机 器:192.168.52 ...
- Hadoop生态圈-使用Ganglia监控flume中间件
Hadoop生态圈-使用Ganglia监控flume中间件 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Ganglia监控简介 加州伯克利大学千禧计划的其中一个开源项目.是一 ...
随机推荐
- Android Camera开发:使用TextureView和SurfaceTexture预览Camera 基础拍照demo
Google自Android4.0出了TextureView,为什么推出呢?就是为了弥补Surfaceview的不足,另外一方面也是为了平衡GlSurfaceView,当然这是本人揣度的.关于Text ...
- Unity3D 相机跟随主角移动
这里给主相机绑定一个脚本. 脚本写为: using UnityEngine; using System.Collections; public class camerafollow : MonoBeh ...
- Unity3D 创建一个简单的2D游戏
开始研究Unity3d 中的2D游戏. 首先创建出一个项目: 然后创建出一个场景: 然后添加一个背景: 然后创建一个主人公对象: 可以是自己做的素材,也可以是用unity裁剪的素材, 下面贴出裁剪素材 ...
- 在ec2上创建root用户,并使用root 通过Xshell远程登录aws云服务器
1.根据官网提供的方法登录连接到EC2服务器(官网推荐windows用户使用PUTTY连接) 2. 创建root的密码,输入如下命令: sudo passwd root 3.然后会提示你输入new p ...
- JavaScript Window - 浏览器对象模型
浏览器对象模型 (BOM) 使 JavaScript 有能力与浏览器"对话". 浏览器对象模型 (BOM) 浏览器对象模型(Browser Object Model (BOM))尚 ...
- 51nod建设国家
小C现在想建设一个国家.这个国家中有一个首都,然后有若干个中间站,还有若干个城市. 现在小C想把国家建造成这样的形状:选若干(可以是0个)的中间站把他们连成一条直线,然后把首都连在这一条直线的左端.然 ...
- SGU 195. New Year Bonus Grant
时间限制:0.75s 空间限制:4M 题意: 在一颗树(最多500000个节点)中,可以对节点染色,但是一个节点染了色后,它的父节点和兄弟节点都不能再染了,求最大的染色节点数,并输出所有染色节点. S ...
- ubuntu 14.04.02 LTS 启动项误写入 /dev/sda1 (win 7 loader) 修复
问题描述: 在win7下安装Ubuntu14.04,由于启动项 /boot loader 安装位置错误(/dev/sda1 (win 7 loader) )导致无法进入Windows(在GRUB界面能 ...
- MVC 文本转换成html显示
最近在学习ASP.NET MVC,项目中需要将后台传输的HTML文本在前台页面显示:@Html.Raw(HttpUtility.HtmlDecode(ViewBag.DisplayText)).记下来 ...
- echshop jquery与transpart冲突解决?
<script type="text/javascript">$(function() {window.__Object_toJSONString = Object.p ...