在 CentOS 6.5 上安装 Ganglia 3.6.0

  • 更新源

yum install wget gcc make rsync


wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm


yum makecache


  • 安装依赖包

  • apr-devel

yum install apr-devel

  • zlib

yum install zlib-devel

  • libConfuse

http://www.nongnu.org/confuse/

yum install libconfuse-devel

  • expat

http://expat.sourceforge.net

yum install expat-devel

  • pcre

yum install pcre-devel

  • RRD

http://oss.oetiker.ch/rrdtool

yum install rrdtool rrdtool-devel

  • 安装Python

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"

  • 安装Ganglia

http://ganglia.info/

wget http://sourceforge.net/projects/ganglia/files/ganglia%20monitoring%20core/3.6.0/ganglia-3.6.0.tar.gz/download -O ~/ganglia-3.6.0.tar.gz

tar zxvf ganglia-3.6.0.tar.gz

cd ganglia-3.6.0

./configure --prefix=/usr/local/ganglia-3.6.0 --enable-gexec --enable-status --with-gmetad --with-librrd --with-libconfuse --with-zlib --with-python=/usr/local

make

make install

  • 配置

  • 设置软链接

ln -s /usr/local/ganglia-3.6.0/sbin/gmond /usr/bin/gmond

  • 复制服务启动文件

cp ~/ganglia-3.6.0/gmond/gmond.init /etc/rc.d/init.d/gmond

cp ~/ganglia-3.6.0/gmetad/gmetad.init /etc/rc.d/init.d/gmetad

chkconfig --add gmond

chkconfig --add gmetad

chkconfig gmond on

chkconfig gmetad on

  • 修改配置文件

vi /etc/init.d/gmond

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

daemon $GMETAD -c /etc/ganglia/gmond.conf

vi /etc/init.d/gmetad 

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

daemon $GMOND -c /etc/ganglia/gmetad.conf

  • 复制配置文件&生成初始文件

mkdir -p /etc/ganglia

cp ~/ganglia-3.6.0/gmetad/gmetad.conf /etc/ganglia/

gmond -t | tee /etc/ganglia/gmond.conf

  • 设置RRD存储

mkdir -p /var/lib/ganglia/rrds

chown nobody:nobody /var/lib/ganglia/rrds


  • 修改gmetad.conf

vi /etc/ganglia/gmetad.conf


setuid_username "nobody"

data_source "ganglia.monitor" localhost

  • 修改gmond.conf

vi /etc/ganglia/gmond.conf

cluster {

    name = "ganglia.monitor"

    owner = "unspecified"

    latlong = "unspecified"

    url = "unspecified"

}


udp_send_channel {

    host = ganglia.monitor

    port = 8649

    ttl = 1

}


udp_recv_channel {

    port = 8649

}

tcp_accept_channel {

    port = 8649

}

  • 启动

  • 启动

service gmetad start

service gmond start

  • 重启

service gmetad restart

service gmond restart

  • 查看状态

service gmetad status

service gmond status

  • 停止

service gmetad stop

service gmond stop

  • 安装Web

  • 安装 Apache & PHP

yum install php-common php-cli php php-gd httpd

  • 启动apache

service httpd start

  • 下载

wget http://sourceforge.net/projects/ganglia/files/ganglia-web/3.5.12/ganglia-web-3.5.12.tar.gz/download -O ~/ganglia-web-3.5.12.tar.gz

tar zxvf ganglia-web-3.5.12.tar.gz 

cd ganglia-web-3.5.12

  • 修改Makefile

vi Makefile 

# Location where gweb should be installed to (excluding conf, dwoo dirs).

GDESTDIR = /var/www/html/ganglia

# Location where default apache configuration should be installed to.

GCONFDIR = /etc/ganglia-web

# 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 = apache

  • 安装

make install

  • 防火墙规则设置

iptables -I INPUT 3 -p tcp -m tcp --dport 80 -j ACCEPT

iptables -I INPUT 3 -p udp -m udp --dport 8649 -j ACCEPT

service iptables save

service iptables restart

  • 关闭selinux

vi /etc/selinux/config

SELINUX=disabled

setenforce 0

  • 访问

http://localhost/ganglia


参考资料

http://yhz.me/blog/Install-Ganglia-On-CentOS.html

http://my.oschina.net/duangr/blog/181585

http://blog.csdn.net/wjciayf/article/details/41649029