suse10安装ganglia

要部署的主机有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程序安装
编辑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)