欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

suse10安装ganglia

程序员文章站 2022-06-03 17:36:10
...
要部署的主机有3台,3台都要部署gmond来采集本机性能指标并发送出去。3台主机分别是192.168.1.138,192.168.1.141和192.168.1.142。
gmetad和ganglia的web程序部署在192.168.1.138上。

====================gmond安装====================
先介绍gmond的安装。

ganglia-3.5.0 #6
|-- apr-util-1.5.4 #2
|--    |-- apr-1.5.2 #1
|-- confuse-2.5 #3
|-- pcre-8.20 #4
|-- rrdtool-1.4.3 #5

ganglia-3.5.0依赖于apr、apr-util、confuse、pcre、rrdtools这五个包,安装顺序是apr、apr-util、confuse、pcre、rrdtools。安装三部曲./configure,make和make install。

!!!apr-util依赖于apr包。安装配置apr-util的时候用参数“--with-apr=/usr/local/apr/bin”。

!!!安装完apr和apr-util之后需要配置环境变量。
APR_CFLAGS=/usr/local/apr/include
export APR_CFLAGS
APR_LIBS=/usr/local/apr/lib
export APR_LIBS
export PATH=$PATH:/usr/local/apr/bin

!!!安装配置confuse的时候用参数“CFLAGS=-fPIC --disable-nls”。

!!!如果pcre编译失败,手工安装gcc-4.1.2,使用参数“-enable-threads=posix -disable-checking -disable-multilib -enable-languages=c,c++”。

!!!安装配置ganglia(gmond)的时候用参数“--with-python=/usr/bin/python2.4”。

gmond安装完成之后要做一些系统配置。
1、生成和配置gmond.conf
<< 生成gmond.conf文件
ganglia-3.5.0 # gmond/gmond -t > /usr/local/etc/gmond.conf
/usr/local/etc/gmond.conf为gmond加载配置的默认路径
<< 配置gmond.conf
138、141和142三台机的gmond配置都配成如上的cluster和udp_send_channel,都只单播消息到138的gmond上面。
cluster {
  name = "Hadoop-CDH"
  owner = "unspecified"
  latlong = "unspecified"
  url = "unspecified"
}

udp_send_channel {
  host = 192.168.1.138
  port = 8649
}

138的udp_recv_channel配置如下,只接受发送给138的单播消息:
udp_recv_channel {
  port = 8649
  bind = 192.168.1.138
  retry_bind = true
}

141和142的udp_recv_channel配置一样,接受内网的多播消息(也可以在global里配置成deaf不接受任何消息):
udp_recv_channel {
  mcast_join = 239.2.11.71
  port = 8649
  bind = 239.2.11.71
  retry_bind = true
}

2、配置gmond随机自启动。
<< 拷贝gmond命令到自启动区域
cp gmond/gmond.init.SuSE /etc/rc.d/gmond
<< 开启gmond自启动:chkconfig --add gmond
查看是否配置成功:chkconfig --list gmond
<< 建立命令软链接
ln -s /usr/local/sbin/gmond /usr/sbin/gmond
/usr/sbin/gmond是/etc/rc.d/gmond中指定的命令执行位置
<< 执行ldconfig -v重新加载库文件。
<< 启动gmond:service gmond start
查看gmond运行状态:service gmond status
<< 用gstat -a1命令查看收到的广播消息
suse10t138:~ # gstat -a1
CLUSTER INFORMATION
       Name: Hadoop-CDH
      Hosts: 3
Gexec Hosts: 0
Dead Hosts: 0
  Localtime: Tue Feb  2 16:48:18 2016

CLUSTER HOSTS
Hostname                     LOAD                       CPU              Gexec
CPUs (Procs/Total) [     1,     5, 15min] [  User,  Nice, System, Idle, Wio]

suse10t143     8 (    0/  494) [  0.02,  0.02,  0.00] [   0.0,   0.0,   0.0, 100.0,   0.0] OFF
suse-142     8 (    0/  531) [  0.03,  0.01,  0.00] [   0.0,   0.0,   0.0, 100.0,   0.0] OFF
suse10t138     8 (    0/  781) [  0.48,  0.22,  0.12] [   0.0,   0.0,   0.1,  99.4,   0.5] OFF
suse10t138:~ #

rrdtool的安装特别麻烦,单独开一个章节。
====================rrdtool安装====================

rrdtool-1.4.3 #11
|-- libxml2-2.6.31 #10
|-- pango-1.21.1 #9
|      |-- pkg-config-0.23 #8
|      |--    |-- glib-2.20.0 #7
|      |-- cairo-1.6.4 #6
|      |--    |-- pixman-0.10.0 #3
|      |--    |-- zlib-1.2.8 #2
|      |--    |--    |-- libpng-1.2.18 #1
|      |--    |-- freetype-2.3.5 #4
|      |--    |-- fontconfig-2.4.2 #5

rrdtool依赖于libxml2和pango这两个包。pango依赖于pkg-config、glib和cairo这三个包。cairo依赖于pixman、zlib、libpng、freetype和fontconfig这五个包。pkg-config依赖于glib包。zlib依赖于libpng包。安装顺序如下:libpng、zlib、pixman、freetype、fontconfig、cairo、glib、pkg-config、pango、libxml2、rrdtool。

====================gmetad安装====================
138上的gmetad安装,和gmond类似,可以在安装配置时指定参数“--with-gmetad --with-python=/usr/bin/python2.4”,能同时安装上gmond和gmetad。

gmetad安装完成之后要做一些系统配置。
1、配置gmetad.conf
<< 拷贝gmetad.conf
ganglia-3.5.0 # cp gmetad/gmetad.conf /usr/local/etc/gmetad.conf
/usr/local/etc/gmetad.conf为gmetad加载配置的默认路径
<< 配置gmetad.conf,gmetad只接收和处理138上gmond的消息
data_source "Hadoop-CDH" 192.168.1.138:8649
gridname "Hadoop-Grid"
# default: "/var/lib/ganglia/rrds"
# rrd_rootdir "/some/other/place"
rrdtool会写文件到/opt/rrdtool-1.4.3下
ls /opt/rrdtool-1.4.3/Hadoop-CDH/
__SummaryInfo__  suse10t138  suse10t143  suse-142
建立软链接:ln -s /opt/rrdtool-1.4.3 /var/lib/ganglia/rrds,让gmetad可以读取rrdtool写下的文件
更改目录权限:chown -R nobody:nobody /opt/rrdtool-1.4.3

2、配置gmetad随机自启动。
<< 拷贝gmetad命令到自启动区域
cp gmetad/gmetad.init.SuSE /etc/rc.d/gmetad
<< 开启gmetad自启动:chkconfig --add gmetad
查看是否配置成功:chkconfig --list gmetad
<< 建立命令软链接
ln -s /usr/local/sbin/gmetad /usr/sbin/gmetad
/usr/sbin/gmetad是/etc/rc.d/gmetad中指定的命令执行位置
<< 执行ldconfig -v重新加载库文件。
<< 启动gmetad:service gmetad start
查看gmetad运行状态:service gmetad status

====================ganglia web安装====================

ganglia-web-3.7.1 #3
|-- php-5.6.17 #2
|--    |-- httpd-2.4.18 #1

ganglia-web依赖于httpd和php。安装顺序如下:httpd、php和ganglia-web。

<< httpd安装

<< php安装配置的时候指定参数“--with-apxs2=/usr/local/apache2/bin/apxs”。会在目录/usr/local/apache2/modules/下生成文件libphp5.so。

<< ganglia的web程序安装
chmod -R 777 /var/lib/ganglia-web #给予读写权限
编辑ganglia的web程序的MakeFile
# Location where gweb should be installed to (excluding conf, dwoo dirs).
GDESTDIR = /usr/local/apache2/ganglia

# Location where default apache configuration should be installed to.
GCONFDIR = /usr/local/apache2/ganglia/conf

# Gweb statedir (where conf dir and Dwoo templates dir are stored)
GWEB_STATEDIR = /var/lib/ganglia-web

# Gmetad rootdir (parent location of rrd folder)
GMETAD_ROOTDIR = /var/lib/ganglia

APACHE_USER = root

安装命令:make install

<< ganglia的web配置
编辑文件/usr/local/apache2/ganglia/conf.php
$conf['rrdtool'] = "/opt/rrdtool-1.4.3/bin/rrdtool";
#$conf['jquery_js_path'] = "http://cdnjs.cloudflare.com/ajax/libs/jquery/1.9.1/jquery.min.js";
#$conf['jquerymobile_js_path'] = "http://cdnjs.cloudflare.com/ajax/libs/jquery-mobile/1.4.5/jquery.mobile.min.js";
#$conf['jqueryui_js_path'] = "http://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.10.2/jquery-ui.min.js";
#$conf['rickshaw_js_path'] = "http://cdnjs.cloudflare.com/ajax/libs/rickshaw/1.5.1/rickshaw.min.js";
#$conf['cubism_js_path'] = "http://cdnjs.cloudflare.com/ajax/libs/cubism/1.6.0/cubism.v1.min.js";
#$conf['d3_js_path'] = "http://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js";
#$conf['protovis_js_path'] = "http://cdnjs.cloudflare.com/ajax/libs/protovis/3.3.1/protovis.min.js";
将这些js下载到目录/usr/local/apache2/ganglia/js/下

<< php配置
suse10t138:~ # php -ini | grep php.ini
Configuration File (php.ini) Path => /usr/local/lib
Loaded Configuration File => /usr/local/lib/php.ini

php.ini配置默认位置在目录/usr/local/lib下,增加下面的配置,解决时区的问题
date.timezone = Asia/Shanghai

<< httpd配置
LoadModule php5_module modules/libphp5.so #加载php模块
AddType application/x-httpd-php .php #增加php类型
ServerName 192.168.1.138:80 #设置主机名
<Directory />
    AllowOverride none
    #Require all denied
    Allow from all
</Directory>
Alias /ganglia "/usr/local/apache2/ganglia"
<Directory "/usr/local/apache2/ganglia">
    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>
<IfModule dir_module>
    DirectoryIndex index.html index.php
</IfModule>

<< httpd启动
/usr/local/apache2/bin/apachectl start
访问地址http://192.168.1.138/ganglia/即可

当时安装的时候很多细节忘记了,应该有遗漏的地方,但真的不想重来一遍了。。。

参考文档:
Install Ganglia on Redhat5+:http://www.winseliu.com/blog/2014/07/18/install-ganglia-on-redhat/
安装配置Gangli:http://www.winseliu.com/blog/2016/01/23/install-and-config-ganglia-on-redhat-2/
*的ganglia的web地址:https://ganglia.wikimedia.org/latest/
rrdtool安装:http://oss.oetiker.ch/rrdtool/doc/rrdbuild.en.html#IBUILDING_DEPENDENCIES
相关标签: suse ganglia