ganglia系统监控

公司服务器越来越多,安装ganglia统一监控服务器。

Ganglia是UC Berkeley发起的一个开源集群监视项目,设计用于测量数以千计的节点。Ganglia的核心包含gmond、gmetad以及一个Web前端。主要是用来监控系统性能,如:cpu 、mem、硬盘利用率, I/O负载、网络流量情况等,通过曲线很容易见到每个节点的工作状态,对合理调整、分配系统资源,提高系统整体性能起到重要作用。


1.下载相关软件包

rrdtool expat apr apr-util confuse ganglia ganglia-web cgilib

rrdtool 下载1.2版本,不然会出现中文乱码问题

2.安装相关依赖包

安装rrdtool

yum -y install perl-devel

yum -y install perl-CPAN

yum install zlib freetype libart_lgpl libpng

tar -zxvf cgilib-0.5.tar.gz
cd cgilib-0.5
make
cp libcgi.a /usr/local/lib
cp cgi.h /usr/include
yum -y install libart_lgpl-devel
yum -y install pango-devel* cairo-devel*

http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.2.27.tar.gz
tar zxvf rrdtool-1.2.27.tar
cd rrdtool-1.2.27
./configure --prefix=/usr/local/rrdtool
make
make install

安装expat

http://downloads.sourceforge.net/project/expat/expat/2.0.1/expat-2.0.1.tar.gz?use_mirror=cdnetworks-kr-2
tar zxvf expat-2.0.1.tar.gz
./configure --prefix=/usr/local/expat
make
make install

对于64位操作系统,需要手动的拷贝下动态链接库到lib64下

mkdir /usr/local/expat/lib64
cp -a /usr/local/expat/lib/* /usr/local/expat/lib64/

安装apr以及apr-util

http://labs.renren.com/apache-mirror/apr/apr-1.4.5.tar.gz
tar xvjf apr-1.3.2.tar.bz2
./configure --prefix=/usr/local/apr
make
make install
http://labs.renren.com/apache-mirror/apr/apr-util-1.3.12.tar.gz
tar xvjf apr-util-1.3.2.tar.bz2
./configure --with-apr=/usr/local/apr --with-expat=/usr/local/expat
make
make install

同样64位机器需要拷贝动态链接库

/bin/cp -f /usr/local/apr/include/apr-1/* /usr/local/apr/include/
mkdir -p /usr/local/apr/lib64
/bin/cp -a -f /usr/local/apr/lib/* /usr/local/apr/lib64/

安装confuse

http://download.savannah.gnu.org/releases/confuse/confuse-2.7.tar.gz
tar zxvf confuse-2.6.tar.gz
./configure CFLAGS=-fPIC --disable-nls --prefix=/usr/local/confuse
make
make install

拷贝动态链接库

mkdir -p /usr/local/confuse/lib64
/bin/cp -a -f /usr/local/confuse/lib/* /usr/local/confuse/lib64/

不同的内核版本会出现不同的问题

[root@localhost ganglia]# uname -r
2.6.32-279.el6.x86_64

yum -y install libconfuse libconfuse-devel.x86_64

3.安装ganglia

./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

或者

./configure --prefix=/usr/local/ganglia --with-librrd=/usr/local/rrdtool --with-libapr=/usr/local/apr --with-libexpat=/usr/local/expat \
--with-libconfuse=/usr/local --with-gmetad --enable-gexec --enable-status --sysconfdir=/etc/ganglia
make
make install

4.服务端配置

mkdir -p /var/lib/ganglia/rrds
mkdir -p /var/lib/ganglia/dwoo

配置一个数据源,修改/etc/ganglia/gmetad.conf文件,同时将运行用户设置为rrdtool的目录权限用户,例如apache用户

data_source "mycluster" 42.120.19.23(监控的客户端ip)

data_source是最重要的参量,在GMOND的Cluser name配置必须与data_source的相同,这个参量被设置为群的名字,被监测以便能监测那群状态。如果有二个或更多监测对象,当有一对象不能被监测,将读取data_source 配置的下一个对象

其中suc是数据源的名称,客户端分组会依赖此名称,后面会提到。 添加自启动脚本

/bin/cp -f gmetad/gmetad.init /etc/init.d/gmetad
/bin/cp -f /usr/local/ganglia/sbin/gmetad /usr/sbin/gmetad
chkconfig --add gmetad

启动gmetad服务

service gmetad start

看见Starting GANGLIA gmetad: [ OK ]就代表运行正常了。

5.客户端配置

安装服务端的配置安装一次

/bin/cp -f gmond/gmond.init /etc/init.d/gmond
/bin/cp -f /usr/local/ganglia/sbin/gmond /usr/sbin/gmond
chkconfig --add gmond
gmond --default_config > /etc/ganglia/gmond.conf

对于生成的默认配置文件需要做适当的修改

cluster {
name="suc"
owner="unspecified"
latlong="unspecified"
url="unspecified"
}

其中name是将要在服务端进行的分组,是服务端的数据源。接下来开启服务

service gmond start
5.服务端web配置

cp conf_default.php conf.php

vim conf.php

$conf['gweb_confdir'] = "/data_disk/webdata/ganglia";跟目录

define("RRDTOOL", "/usr/local/rrdtool/bin/rrdtool");

$conf['rrdtool'] = "/usr/local/rrdtool/bin/rrdtool";

建立相应的存储目录即可

6.常用一些错误解决

err1:

# service gmetad status

gmetad 已死,但是 subsys 被锁

 

err2:

There was an error collecting ganglia data (127.0.0.1:8652): fsockopen error: Connection refused

 

解决代码:

# mkdir -p /var/lib/ganglia/rrds

# chown nobody:nobody /var/lib/ganglia/rrds

 

还要注意目录/var/www/html/ganglia/下的conf.php文件

正确指定你安装rrdtool的路径,默认如下

define("RRDTOOL", "/usr/bin/rrdtool");


err3

[root@23 ganglia]# service gmond status
gmond dead but subsys locked

tail -f /var/log/messages

video /usr/sbin/gmond[13481]: exiting. setuid 'nobody' error


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值