1.相关环境

Host Name IP OS Arch
duangr-1 192.168.56.10 CentOS 6.4 x86_64
duangr-2 192.168.56.11 CentOS 6.4 x86_64
duangr-3 192.168.56.12 CentOS 6.4 x86_64

全部主机确认:

  • iptables关闭

  • SELinux disabled

2.部署规划

监控服务主节点 duangr-1
被监控从节点

duangr-2

duangr-3

Ganglia监控服务的主节点需要安装:

  • ganglia

  • ganglia-web

  • php

  • apache

Ganglia被监控从节点需要安装:

  • ganglia

安装路径规划

ganglia安装路径 /usr/local/ganglia
php安装路径
/usr/local/php
apache安装路径
/usr/local/apache2
ganglia-web安装路径
/export/home/ganglia/ganglia-web-3.5.10
rrds数据路径
/export/home/ganglia/rrds

3.代码获取

4.前提依赖

4.1 主机环境检查(全部主机节点)

# rpm -q gcc glibc glibc-common rrdtool rrdtool-devel apr  apr-devel expat expat-devel  pcre pcre-devel dejavu-lgc-sans-mono-fonts dejavu-sans-mono-fontsgcc-4.4.7-3.el6.x86_64glibc-2.14.1-6.x86_64glibc-common-2.14.1-6.x86_64rrdtool-1.3.8-6.el6.x86_64rrdtool-devel-1.3.8-6.el6.x86_64apr-1.3.9-5.el6_2.x86_64apr-devel-1.3.9-5.el6_2.x86_64expat-2.0.1-11.el6_2.x86_64expat-devel-2.0.1-11.el6_2.x86_64pcre-7.8-6.el6.x86_64pcre-devel-7.8-6.el6.x86_64dejavu-lgc-sans-mono-fonts-2.30-2.el6.noarch.rpmdejavu-sans-mono-fonts-2.30-2.el6.noarch.rpm

若有缺失,请先安装. 可通过如下几个镜像网站下载相关安装包:

4.2 dejavu

rpm -ivh dejavu-lgc-sans-mono-fonts-2.30-2.el6.noarch.rpmrpm -ivh dejavu-sans-mono-fonts-2.30-2.el6.noarch.rpm

4.3 rrdtool

rpm -ivh rrdtool-1.3.8-6.el6.x86_64.rpmrpm -ivh rrdtool-devel-1.3.8-6.el6.x86_64.rpm

4.4 apr

rpm -ivh apr-1.3.9-5.el6_2.x86_64.rpmrpm -ivh apr-devel-1.3.9-5.el6_2.x86_64.rpm

4.5 libexpat

rpm -ivh expat-2.0.1-11.el6_2.x86_64.rpmrpm -ivh expat-devel-2.0.1-11.el6_2.x86_64.rpm

4.6 libpcre

rpm -ivh pcre-7.8-6.el6.x86_64.rpmrpm -ivh pcre-devel-7.8-6.el6.x86_64.rpm

4.7 confuse

confuse-2.7  

tar -zxf confuse-2.7.tar.gzcd confuse-2.7./configure CFLAGS=-fPIC --disable-nlsmake && make install

4.8 python

Python-2.7.3.tar.bz2   

tar -jxf Python-2.7.3.tar.bz2./configure  --prefix=/usr/local  --enable-shared make && make install

配置共享库

vi /etc/ld.so.conf-- 增加如下内容/usr/local/lib

启用配置

ldconfig

检查是否生效

ldconfig -v |grep "libpython2.7.so"

5.编译安装

5.1 安装ganglia (全部节点都要安装)

# tar -zxf ganglia-3.6.0.tar.gz# cd ganglia-3.6.0# ./configure --prefix=/usr/local/ganglia --with-gmetad --enable-gexec --with-python=/usr/localWelcome to..     ______                  ___    / ____/___ _____  ____ _/ (_)___ _   / / __/ __ `/ __ \/ __ `/ / / __ `/  / /_/ / /_/ / / / / /_/ / / / /_/ /  \____/\__,_/_/ /_/\__, /_/_/\__,_/                   /____/Copyright (c) 2005 University of California, BerkeleyVersion: 3.6.0Library: Release 3.6.0 0:0:0Type "make" to compile.# make && make install

5.2 安装ganglia-web (主节点安装)

# tar -zxf ganglia-web-3.5.10.tar.gz -C /export/home/ganglia/# cd /export/home/ganglia/ganglia-web-3.5.10# cp conf_default.php conf.php

vi conf.php    调整为如下内容

$conf['gweb_confdir'] = "/export/home/ganglia/ganglia-web-3.5.10";$conf['gmetad_root'] = "/export/home/ganglia";

vi header.php 

配置临时目录

cd /export/home/ganglia/ganglia-web-3.5.10/dwoomkdir cachechmod 777 cachemkdir compiledchmod 777 compiled

5.3 安装apache (主节点安装)

tar -zxf httpd-2.2.23.tar.gz cd httpd-2.2.23 ./configure --prefix=/usr/local/apache2 make && make install

5.4 安装php (主节点安装)

tar -zxf php-5.4.10.tar.gzcd php-5.4.10./configure --prefix=/usr/local/php  --with-apxs2=/usr/local/apache2/bin/apxs  --with-mysql=/usrmake  && make install

5.5 使用apache发布ganglia-web (主节点安装)

vi /usr/local/apache2/conf/httpd.conf

....Listen 80....
    DirectoryIndex index.html index.php    AddType application/x-httpd-php .php....# 在文件最后增加如下内容# gangliaAlias /ganglia "/export/home/ganglia/ganglia-web-3.5.10"
     AuthType Basic     Options None     AllowOverride None     Order allow,deny     Allow from all

启动httpd服务

/usr/local/apache2/bin/apachectl restart

6.配置Ganglia

6.1 配置gmetad (主节点配置)

cd ganglia-3.6.0cp ./gmetad/gmetad.init /etc/init.d/gmetadcp ./gmetad/gmetad.conf /usr/local/ganglia/etc/

vi /etc/init.d/gmetad  --修改如下内容

GMETAD=/usr/local/ganglia/sbin/gmetad

vi /usr/local/ganglia/etc/gmetad.conf     -- 修改如下内容

data_source "duangr-cluster" 10 duangr-1  duangr-2  duangr-3xml_port 8651interactive_port 8652rrd_rootdir "/export/home/ganglia/rrds"case_sensitive_hostnames 0

修改rrds数据目录所有者

chown -R nobody:nobody /export/home/ganglia/rrds

启动gmetad服务,并设为开机自动运行 

service gmetad restartchkconfig --add gmetad

6.2 配置gmond (全部节点配置)

cd ganglia-3.6.0cp ./gmond/gmond.init /etc/init.d/gmond ./gmond/gmond -t > /usr/local/ganglia/etc/gmond.conf

vi /etc/init.d/gmond  --修改如下内容

GMOND=/usr/local/ganglia/sbin/gmond

vi /usr/local/ganglia/etc/gmond.conf      -- 修改如下内容

cluster {  name = "duangr-cluster"  owner = "nobody"  latlong = "unspecified"  url = "unspecified"}

复制python module到ganglia部署目录

mkdir /usr/local/ganglia/lib64/ganglia/python_modulescp ./gmond/python_modules/*/*.py  /usr/local/ganglia/lib64/ganglia/python_modules

安装程序ganglia-3.6.0默认提供了一些python module的配置文件,只需要部署到 /usr/local/ganglia/etc/conf.d 目录下面即可生效

若对默认提供的这些监控脚本不太关心,可以跳过下面这步:

cp ./gmond/python_modules/conf.d/*.pyconf  /usr/local/ganglia/etc/conf.d

启动gmond服务,并设为开机自动运行

service gmond  restartchkconfig --add  gmond

7.监控页面