ganglia系统监控

来源:互联网 发布:黑帽seo教程 编辑:程序博客网 时间:2024/05/18 13:06

公司服务器越来越多,安装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.gztar zxvf rrdtool-1.2.27.tarcd rrdtool-1.2.27./configure --prefix=/usr/local/rrdtoolmakemake install

安装expat

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

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

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

安装apr以及apr-util

http://labs.renren.com/apache-mirror/apr/apr-1.4.5.tar.gztar xvjf apr-1.3.2.tar.bz2./configure --prefix=/usr/local/aprmakemake install
http://labs.renren.com/apache-mirror/apr/apr-util-1.3.12.tar.gztar xvjf apr-util-1.3.2.tar.bz2./configure --with-apr=/usr/local/apr --with-expat=/usr/local/expatmakemake 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.gztar zxvf confuse-2.6.tar.gz./configure CFLAGS=-fPIC --disable-nls --prefix=/usr/local/confusemakemake 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/gangliamakemake 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/gangliamakemake install

4.服务端配置

mkdir -p /var/lib/ganglia/rrdsmkdir -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/gmetadchkconfig --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/gmondchkconfig --add gmondgmond --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 0
原创粉丝点击