ganglia在centos下的安装

    xiaoxiao2022-06-29  41

    最近安装Ganglia,由于之前Linux基础基本为0,因此费了很大的周折。最后在失败了好多次之后终于看到了梦寐以求的web界面。下面总结下这几天来的工作。

    ganglia是一个监控软件,他包含三部分:Gmond,Gmetad和Gweb。在需要监控的主机上安装Gmond,他会采集当前主机上的一些信息;Gmetad部署在服务器端,它轮训主机,收集Gmond采集的主机信息,然后存在在rrdtool数据库中;Gweb是一个前台显示的界面,他读取Gmetad保存的rrd文件,显示在web界面上。

    部署规划:

    主机IPLeo192.168.137.101(客户端)Sherry192.168.137.66(服务器端)

     

    安装步骤:

    1,依赖包的安装

    首先保证yum源可用,可以查看或者修改,在目录下面/etc/yum.repo.d/可以添加或者修改。接着,就可以执行如下命令安装一些基础依赖软件包 yum -y install apr-devel apr-util check-devel cairo-devel pango-devel libxml2-devel rpm-build glib2-devel dbus-devel freetype-devel fontconfig-devel gcc-c++ expat-devel python-devel libXrender-devel pkgconfig

    如果安装过程中,没有出错,则可以正常进行下一步,如果出现错误,可能会影响后面的安装过程。

    安装rrdtools

    1 2 3 4 5 6 7 8 cd  /usr/src/ wget http: //oss .oetiker.ch /rrdtool/pub/rrdtool-1 .4.8. tar .gz tar  zxvf rrdtool-1.4.8. tar .gz cd  rrdtool-1.4.8 . /configure  --prefix= /usr/local/rrdtool make  &&  make  install ln  -s  /usr/local/rrdtool/include/rrd .h  /usr/include/rrd .h ln  -s  /usr/local/rrdtool/lib/librrd .a  /usr/lib/librrd .a

    执行下命令,看是否安装成功

    /usr/local/rrdtool/bin/rrdtool

    安装expat依赖

    1 2 3 4 5 6 7 8 9 wget http: //downloads.sourceforge.net/project/expat/expat/2.0.1/expat-2.0.1.tar.gz tar zxvf expat- 2.0 . 1 .tar.gz cd expat- 2.0 . 1 ./configure --prefix=/usr/local/expat make && make install 对于 64 位操作系统,需要手动的拷贝下动态链接库到lib64下 cd /usr/local/expat/ mkdir /usr/local/expat/lib64 cp -a /usr/local/expat/lib/* /usr/local/expat/lib64/

    安装apr以及apr-util

    1 2 3 4 5 6 7 8 9 10 11 wget https: //archive .apache.org /dist/apr/apr-1 .5.0. tar .gz tar  zxvf apr-1.5.0. tar .gz cd  apr-1.5.0 . /configure  --prefix= /usr/local/apr make  &&  make  install cd  .. wget https: //archive .apache.org /dist/apr/apr-util-1 .5.1. tar .gz tar  xf apr-util-1.5.1. tar .gz cd  apr-util-1.5.1 . /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

    1 2 3 4 5 wget http: //download.savannah.gnu.org/releases/confuse/confuse-2.7.tar.gz tar xf confuse- 2.7 .tar.gz cd confuse- 2.7 ./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/

    安装pcre

    pcre是perl 兼容的正规表达式库,在使用正则匹配时会很用。不安装的话,ganglia安装时会报错:libpcre not found, specify --with-libpcre=no to build without PCRE support。

    1 2 3 4 5 6 cd /usr/src/ wget http: //ftp.exim.llorien.org/pcre/pcre-8.34.tar.gz tar zxvf pcre- 8.34 .tar.gz cd pcre- 8.34 ./configure make && make install

    调整lib库的位置: vim /etc/ld.so.conf.d/libpcre.conf,添加:/usr/local/lib64,然后/sbin/ldconfig -v

    安装ganglia

    现在才是安装ganglia的开始, 下载ganglia-3.2.0,解压,安装

    1 2 3 4 cd  ganglia-3.2.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-3.2.0/web/conf.php里面的gmetad_root变量,并根据apache的运行用户创建权限,例如apache运行于apache用户上,如果没有对apache进行权限更改,则会出现There was an error collecting ganglia data (127.0.0.1:8652): fsockopen error: Connection refused的错,只有service gmetad status显示状态正常,service gmetad start、stop正常时,ganglia才算启动成功 

    mkdir -p /var/lib/ganglia/rrds mkdir -p /var/lib/ganglia/dwoo chown -R apache:apache /var/lib/ganglia

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

    data_source "suc" 192.168.1.3    注意:这里的192.168.1.3是被监控端的iP地址。 setuid_username "apache"

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

    /bin/cp -f /usr/src/ganglia-3.6.0/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

    报这样错误:

    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

    在启动ganglia服务

    service gmetad start

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

    服务端的WEB配置

    安装web程序,这里假定apache的root路径在/var/www/html下面,具体路径可查看/etc/httpd/conf/httpd.conf文件中的DocumentRoot配置。

    mkdir /var/www/html/ganglia cp -a -f /usr/src/ganglia-3.2.0/web/* /var/www/html/ganglia

    禁用SELinux setenforce 0

    修改rrdtool的路径,文件/var/www/html/ganglia/conf.php中的RRDTOOL,如果不对此配置进行修改,则可能导致访问ganglia时,页面没有图片出现。

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

    重启httpd服务器即可看到效果 service httpd restart

    客户端的配置

    客户端也需要安装expat依赖,apr和apr-util,confuse相关软件,和服务器端一样进行安装,这里不再进行操作。

    安装ganglia客户端

    现在才是安装ganglia的开始, 下载ganglia-3.2.0,解压,安装

    1 2 3 4 cd ganglia- 3.2 . 0 ./configure --prefix=/usr/local/ganglia -- with -libapr=/usr/local/apr -- with -libexpat=/usr/local/expat \ -- with -libconfuse=/usr/local/confuse --enable-gexec --enable-status make && make install /bin/cp -f /usr/src/ganglia-3.2.0/gmond/gmond.init  /etc/init.d/gmond /bin/cp -f /usr/local/ganglia/sbin/gmond /usr/sbin/gmond chkconfig --add gmond /usr/src/ganglia-3.2.0/gmond/gmond --default_config > /etc/ganglia/gmond.conf

    报这样错误:

    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

    vi /etc/ganglia/gmond.conf

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

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

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

    service gmond start

    看见Starting GANGLIA gmetad: [ OK ]代表启动成功。如果有失败,可以讲gmond.conf中的debug有0改为100,看更多的日志,然后进行排查。

    globals { daemonize = yes setuid = yes user = nobody debug_level = 100 }

    非本机客户端配置,需要和服务端一样安装进行配置,运行,非常麻烦,这里使用本机安装好的文件进行安装。 使用下面的脚本进行安装deploy-ganglia.sh

    i=$1 scp /usr/sbin/gmond $i:/usr/sbin/gmond ssh $i mkdir -p /etc/ganglia/ ssh $i mkdir -p /usr/local/ganglia/lib64 ssh $i mkdir -p /usr/local/expat/lib scp /etc/ganglia/gmond.conf $i:/etc/ganglia/ scp /etc/init.d/gmond $i:/etc/init.d/ scp -r /usr/local/ganglia/lib64/* $i:/usr/local/ganglia/lib64/ scp /usr/local/expat/lib/libexpat.so.1 $i:/usr/local/expat/lib/libexpat.so.1 scp /usr/lib64/libapr-1.so.0 $i:/usr/lib64/

    实际上就是将本机安装好(编译好)的动态链接库拷贝到其它机器上,使用如下命令拷贝即可

    sh deploy-ganglia.sh 10.1.11.2   这里的10.1.11.2是客户端计算机ip地址

    转载请注明原文地址: https://ju.6miu.com/read-1124778.html

    最新回复(0)