使用Ganglia构建集群监控,编译安装Ganglia

前言:Ganglia是UC
Berkeley发起的一个开源集群监视项目,设计用于测量数以千计的节点。Ganglia的核心包含gmond、gmetad以及一个Web前端。主要是用来监控系统性能,如:cpu
、mem、硬盘利用率,
I/O负载、网络流量情况等,通过曲线很容易见到每个节点的工作状态,对合理调整、分配系统资源,提高系统整体性能起到重要作用。

说明

RHEL 7.1 编译安装Ganglia 3.7.1

规划:

ganglia项目用于集群监控真的很好用,可惜安装起来依赖太多了。

1.  安装依赖

使用一台ganglia机器监控两个集群

以下是以CentOS6.4的minimal系统为初始环境,并且是原汁原味的刚刚装完系统后,只启用网卡服务的系统作为ganglia的安装环境,

yum groupinstall -y “Development tools” “Basic Web Server”

ganglia-server(gmetad):10.64.8.10
CentOS6.5

一、安装服务端
1、安装依赖
yum -y install apr-devel apr-util check-devel cairo-devel pango-devel
libxml2-devel rpmbuild glib2-devel dbus-devel freetype-devel
fontconfig-devel gcc-c++ expat-devel python-devel libXrender-devel
perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker make rsync wget
2、安装apache的组件
安装apr-1.4.6
wget
tar -xf apr-1.4.6.tar.gz && cd apr-1.4.6
./configure –prefix=/usr/local/apr && make && make install && cd ..
安装apr-util-1.5.2
wget
tar -xf apr-util-1.5.2.tar.gz && cd apr-util-1.5.2
./configure –prefix=/usr/local/apr-util –with-apr=/usr/local/apr &&
make && make install && cd ..
安装httpd-2.2.24
wget
tar -xf httpd-2.2.24.tar.gz && cd httpd-2.2.24
兴發国际娱乐手机登录,./configure –prefix=/usr/local/apache2 –enable-so
–enable-mods-shared=most –with-included-apr –with-apr=/usr/local/apr
–with-apr-util=/usr/local/apr-util && make && make install && cd ..
#将httpd写入启动脚本并启动(可选)
echo ‘/usr/local/apache2/bin/apachectl start’ >>/etc/rc.d/rc.local
&& /usr/local/apache2/bin/apachectl start
3、安装和配置php
安装
wget
tar -xf php-5.3.18.tar.gz && cd php-5.3.18
./configure –prefix=/usr/local/php
–with-apxs2=/usr/local/apache2/bin/apxs && make && make install && cd
..
在httpd中配置php
修改/usr/local/apache2/conf/httpd.conf配置文件
添加内容
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch “\.ph(p[2-6]?|tml)$”>
SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch “\.phps$”>
SetHandler application/x-httpd-php-source
</FilesMatch>
修改内容
在<IfModule dir_module>中添加index.php
4、安装libconfuse相关
wget

wget

rpm -ivh libconfuse-*
5、安装pcre
wget
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.31.tar.gz
tar -xf pcre-8.31.tar.gz && cd pcre-8.31
./configure && make && make install && cd ..
echo ‘/usr/local/lib’ >/etc/ld.so.conf.d/libpcre.conf && ldconfig
-v
6、安装rrdtool
wget
tar -xf rrdtool-1.4.7.tar.gz && cd rrdtool-1.4.7
./configure –prefix=/usr/local && make && make install && cd ..
echo ‘/usr/local/lib’ >/etc/ld.so.conf.d/librrd.conf && ldconfig -v
7、安装ganglia后台服务并设置
安装
wget

tar -xf ganglia-3.4.0.tar.gz && cd ganglia-3.4.0
./configure –prefix=/usr/local/ganglia –with-gmetad
–with-librrd=/usr/local/lib –sysconfdir=/etc/ganglia && make && make
install && cd ..
将gmond和gmetad作为服务运行,并加入开机服务启动中(可选)
复制到服务,并设开机启动
cp ganglia-3.4.0/gmond/gmond.init /etc/rc.d/init.d/gmond
cp ganglia-3.4.0/gmetad/gmetad.init /etc/rc.d/init.d/gmetad
chkconfig –add gmond && chkconfig gmond on
chkconfig –add gmetad && chkconfig gmetad on
修改服务配置信息
修改/etc/rc.d/init.d/gmetad文件将GMETAD变量改为:GMETAD=/usr/local/ganglia/sbin/gmetad
和/etc/rc.d/init.d/gmond文件将GMOND变量改为:GMOND=/usr/local/ganglia/sbin/gmond
设置rrd的存储位置
mkdir -p /var/lib/ganglia/rrds
chown nobody:nobody /var/lib/ganglia/rrds
生成gmond的配置文件并修改配置信息(可选)
/usr/local/ganglia/sbin/gmond -t |tee /etc/ganglia/gmond.conf
修改cluster配置段内容,例如: name = “Cluster”。可以默认不修改
修改gmetad的配置信息(可选)
修改/etc/ganglia/gmetad.conf配置文件
把data_source配置名称以及服务器名称修改为自己的。可以默认
把gridname前的注释放开,改为自己的名称,例如:”cluster”。可以默认
8、安装ganglia的web端以及设置
下载和解压
wget

tar -xf ganglia-web-3.5.4.tar.gz
cp -r ganglia-web-3.5.4 /usr/local/apache2/htdocs/ganglia
修改Makefile文件并安装
cd /usr/local/apache2/htdocs/ganglia
修改Makefile中GDESTDIR和APACHE_USER参数,然后执行make install安装
GDESTDIR=/usr/local/apache2/htdocs/ganglia
APACHE_USER=daemon
make install
修改php配置文件
cp conf_default.php conf.php
修改conf.php文件
如果设置rrd的存储位置的时候是按照上文设置的话,就可以跳过对$conf[‘gmetad_root’]和$conf[‘rrds’]的修改,否则改为相应位置
$conf[‘rrdtool’] = “/usr/local/bin/rrdtool”;
$conf[‘external_location’] = ;
$conf[‘case_sensitive_hostnames’] = false;
9、启动ganglia
启动或重启httpd
/usr/local/apache2/bin/apachectl start
启动gmetad
service gmetad start
启动gmond
service gmond start
二、安装客户端
1、安装依赖
yum -y install apr-devel apr-util
2、安装libconfuse相关
同服务端
3、安装pcre
同服务端
4、安装和配置ganglia
安装
tar -xf ganglia-3.4.0.tar.gz && cd ganglia-3.4.0
./configure –prefix=/usr/local/ganglia –sysconfdir=/etc/ganglia &&
make && make install && cd ..
配置
复制服务端配置
scp ip:/etc/rc.d/init.d/gmond /etc/rc.d/init.d/gmond
mkdir /etc/ganglia
scp ip:/etc/ganglia/gmond.conf /etc/ganglia
把gmond加入服务并开机启动
cp ganglia-3.4.0/gmond/gmond.init /etc/rc.d/init.d/gmond
chkconfig –add gmond && chkconfig gmond on
5、启动ganglia客户端
/etc/init.d/gmond start
三、特殊要求
如果你的服务器有两块网卡,eth0使用公网地址,eth1使用局域网地址,而你的监控服务器和被监控服务器之间的通信你希望通过局域网地址实现以减少公网网卡的负载,那么可以使用以下命令
ip route add 239.2.11.71 dev eth1
因为239.2.11.71是ganglia默认的多点传输通道,所以要加一条路由使它通过eth1,也就是内网网卡,239.2.11.71这个地址你可以在/etc/ganglia/gmond.conf中修改

yum install pcre pcre-devel apr-devel apr-util-devel apr-util zlib-devel
zlib rrdtool-devel rrdtool python-devel php

ganglia-agent(gmond):xdHadoop、sjselk

相关阅读

2.  添加用户

集群xdhadoop:

使用Ganglia监控Hadoop集群
http://www.linuxidc.com/Linux/2012-05/61349.htm

useradd ganglia

master1、master2、slave1、slave2、slave3

在VMware
Workstation的Ubuntu下安装和配置Hadoop与Ganglia
http://www.linuxidc.com/Linux/2013-06/85856.htm

passwd ganglia
3.  从源代码编译安装,先安装confuse.

集群sjselk:

Ganglia安装部署之一建立Grid
http://www.linuxidc.com/Linux/2013-05/83673.htm

cd /usr/local/src

es-master1、es-master2、es-master3、es-master4、es-master5

Ganglia 极其简单安装教程yum版
http://www.linuxidc.com/Linux/2012-12/76536.htm

#install confuse
wget

tar zxvf confuse-2.7.tar.gz
cd confuse-2.7/
../configure CFLAGS=-fPIC -disable-nls
make && make install
然后编译安装ganglia

一:准备工作

Ganglia快速开始向导(翻译自官方wiki)
http://www.linuxidc.com/Linux/2013-11/92747.htm

wget

(1)修改主机名,并将监控机名写入hosts

CentOS集群上安装Ganglia-3.6.0监控Hadoop-2.2.0和HBase-0.96.0
http://www.linuxidc.com/Linux/2014-01/95804.htm

mv download ganglia-3.7.1.tar.gz
tar zxvf ganglia-3.7.1.tar.gz
cd ganglia-3.7.1/
./configure –prefix=/usr/local/ganglia –with-gmetad –enable-gexec
–sysconfdir=/etc/ganglia  –with-python=/usr/bin/python
make && make install

10.10.1.10

兴發国际娱乐手机登录 1

  1. 配置gmetad 和gmond.

#hostname ganglia && echo ganglia >/etc/hostname
#cat >> /etc/hosts << EOF
10.10.1.1 master1
10.10.1.2 master2
10.10.1.3 slave1
10.10.1.4 slave2
10.10.1.5 slave3
10.10.0.1 es-master1
10.10.0.2 es-master2
10.10.0.3 es-master3
10.10.0.4 es-master4
10.10.0.5 es-master5
10.10.1.10 ganglia
EOF

cp gmetad/gmetad.conf /etc/ganglia/

(2)关闭selinux和防火墙

/usr/local/ganglia/sbin/gmond -t |tee /etc/ganglia/gmond.conf
首先配置gmetad.

#setenforce 0&& service iptables stop &&chkconfig iptables off

vim /etc/ganglia/gmetad.conf

二:ganglia-server环境安装

data_source “my cluster” YOUR_FQDN
# setuid_username “nobody”
setuid_username “ganglia”
然后配置gmond.

ganglia

vim /etc/ganglia/gmond.conf

(1)web环境

setuid = yes
#user = nobody
user =ganglia
udp_send_channel {
      bind_hostname = yes # Highly recommended, soon to be default.
                      # This option tells gmond to use a source
address
                      # that resolves to the machine
查看gmond的python 扩展,确保modpython.so 被编译出来。

安装apache

locate modpython.so

#yum install httpd
#vim /etc/httpd/conf/httpd.conf 
User nobody
Group nobody

/usr/local/ganglia/lib64/ganglia/modpython.so
#create gmond python directory
mkdir -p /usr/local/ganglia/lib64/ganglia/python_modules
/usr/local/ganglia/sbin/gmond -d10
#应该能看到loaded module: python_module
#copy python module / py.conf
cp /usr/local/src/ganglia-3.7.1/gmond/python_modules/*/*.py 
/usr/local/ganglia/lib64/ganglia/python_modules
cp /usr/local/src/ganglia-3.7.1/gmond/python_modules/conf.d/*.pyconf
/etc/ganglia/conf.d
配置启动项:

安装php,并编辑测试页面。

cp gmetad/gmetad.init /etc/rc.d/init.d/gmetad

#yum install php 
#vim /var/www/html/info.php 
<?php
phpinfo();
?>

cp gmond/gmond.init /etc/rc.d/init.d/gmond
vim /etc/init.d/gemtad(edit these)
        #GMETAD=/usr/sbin/gmetad
        GMETAD=/usr/local/ganglia/sbin/gmetad
        #daemon $GMETAD
        daemon $GMETAD -c /etc/ganglia/gmetad.conf
vim /etc/init.d/gmond (edit these)
        #GMOND=/usr/sbin/gmond
        GMOND=/usr/local/ganglia/sbin/gmond
        #daemon $GMOND
        daemon $GMOND -c /etc/ganglia/gmond.conf
配置systemd服务

发表评论

电子邮件地址不会被公开。 必填项已用*标注