ganglia 安装 – 滴水穿石 – 博客频道 – CSDN.NET

主机IP地址为192.168.138.22

主机操作系统版本:(选择基本安装)

[root@localhost rpm-gpg]# lsb_release  -a

LSB Version:    :core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch

Distributor ID: RedHatEnterpriseServer

Description:    Red Hat Enterprise Linux Server release 6.2 (Santiago)

Release:        6.2

Codename:       Santiago

安装ganglia的步骤

一. 建立yum 数据源,在redhat企业版中如果没有序列号,不提供yum的数据源安装.但是我们可以把安装光盘制作成数据源.因为光盘上已经有了我们日常常用的软件,常用的包 .这样可以节约很多时间.

二. rrdtool 工具,这个工具需要三个包同时安装

三. 编译libconfuse,注意在编译的时候需要加上  ./configure CFLAGS=-fPIC –disable-nls

四. 编译ganglia

五. 配置ganglia,并验证服务

下面是详细安装步骤(本试验是针对Red Hat Enterprise Linux Server release 6.2,采用基本配置安装的操作,其它环境可能有些包没有预装.用yum应该能很好解决)

a) 安装vsftp工具

    rpm -ivh vsftpd-2.2.2-11.el6_3.1.x86_64.rpm

b) 拷贝安装包到ftp服务器

    mkdir /var/ftp/redhat

    mkdir /mnt/cdrom

    mount /dev/cdrom /mnt/cdrom   (插入光盘)

    cp -r /mnt/cdrom/* /var/ftp/redhat

c) 配置yum 安装(更改/etc/yum.repos.d/rhel-source.repo 请看红色部分)

[root@localhost yum.repos.d]# cat rhel-source.repo

[rhel-source]

name=Red Hat Enterprise Linux $releasever – $basearch – Source

baseurl=ftp://192.168.138.22/redhat

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

d) 安装程序包

yum install rrdtool-devel

yum install compat-expat1

yum install httpd

yum install gcc g++

yum -y install apr-util-devel

yum install pcre-devel

yum install zlib-devel

yum instal php

yum install php-gd

yum install xorg-x11-server-Xorg

 tar -zxvf confuse-2.7.tar.gz

 cd confuse-2.7

 ./configure CFLAGS=-fPIC –disable-nls

 make install

 tar -zxvf ganglia-3.6.0.tar.gz

 cd ganglia-3.6.0

 ./configure –prefix=/usr/local/ganglia-3.6.0 –with-gmetad

 出现下面图形表示

Welcome to..

     ______                  ___

    / ____/___ _____  ____ _/ (_)___ _

   / / __/ __ `/ __ \/ __ `/ / / __ `/

  / /_/ / /_/ / / / / /_/ / / / /_/ /

  \____/\__,_/_/ /_/\__, /_/_/\__,_/

                   /____/

Copyright (c) 2005 University of California, Berkeley

Version: 3.6.0

Library: Release 3.6.0 0:0:0

Type “make” to compile.

./make install

编译客户端

 ./configure –prefix=/usr/local/ganglia-3.6.0

 cp /home/ocdc/ganglia-3.6.0/gmetad/gmetad.init /etc/rc.d/init.d/gmetad

 cp /home/ocdc/ganglia-3.6.0/gmond/gmond.init /etc/rc.d/init.d/gmond

 ln -s /usr/local/ganglia-3.6.0/sbin/gmetad /usr/sbin/gmetad

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

chkconfig –add gmetad

chkconfig –add gmond

chkconfig –level 345 gmetad on

chkconfig –level 345 gmond on

生成默认配置文件

gmond -t | tee /usr/local/ganglia-3.6.0/etc/gmond.conf

创建 rrds 数据文件存放目录

mkdir -p /var/lib/ganglia/rrds

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

— 下面配置文件可以不必编辑,默认安装就可以使用(对于配置文件的修改请参考相关网页)

vi /usr/local/ganglia-3.6.0/etc/gmetad.conf

vi /usr/local/ganglia-3.6.0/etc/gmond.conf

service gmetad restart

service gmond  restart

–检查 gmetad 服务

telnet localhost 8651

–检查 gmond 服务

telnet localhost 8649

安装ganglia-web  

a) 执行 setenforce 0  (需要执行,否则会报不允许访问)

b)拷贝ganglia-web 到/var/www/html/ganglia 并设定配置文件

mv ganglia-web-3.5.10 /var/www/html/ganglia

c) 编辑 conf.php

cp  conf_default.php conf.php

$conf[‘gweb_root’] = “/var/www/html/ganglia”;

$conf[‘gweb_confdir’] = “/var/www/html/ganglia”;

#下面的路径与gweb_confdir 的路径有关 /var/www/html/ganglia 代表 gweb_confdir路径

mkdir -p /var/www/html/ganglia/dwoo/compiled

mkdir -p /var/www/html/ganglia/dwoo/cache

chmod 777 /var/www/html/ganglia/dwoo/compiled

chmod 777 /var/www/html/ganglia/dwoo/cache

启动httpd 服务

service httpd restart

检验 http://192.168.138.22/ganglia

部署客户端到其他服务器(下面shell是在本环境下直接拷贝文件部署到其他服务器,服务器的操作系统必须一致)

#!/bin/bash

cd /usr/local

tar -cvf ./ganglia-3.6.0.tar ./ganglia-3.6.0

for rh in cloud01 cloud02 cloud03

do

scp ganglia-3.6.0.tar $rh:/usr/local

ssh $rh “cd /usr/local; tar -xvf ./ganglia-3.6.0.tar; rm ./ganglia-3.6.0.tar”

scp /usr/lib64/libapr-1.so* $rh:/usr/lib64

scp  /etc/rc.d/init.d/gmetad  $rh:/etc/rc.d/init.d/

scp  /etc/rc.d/init.d/gmond   $rh:/etc/rc.d/init.d/

ssh $rh ln -s /usr/local/ganglia-3.6.0/sbin/gmetad /usr/sbin/gmetad

ssh $rh ln -s /usr/local/ganglia-3.6.0/sbin/gmond /usr/sbin/gmond

ssh $rh chkconfig –add gmetad

ssh $rh chkconfig –add gmond

ssh $rh service gmond  restart

done

rm ./ganglia-3.6.0.tar

其他内容:

配置分组

gmetad.conf

data_source “NameNode” 192.168.138.23:8649

data_source “DataNode” 192.168.138.24:8650

gmond.conf

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’s hostname.  Without

                       # this, the metrics may appear to come from any

                       # interface and the DNS names associated with

                       # those IPs will be used to create the RRDs.

  mcast_join = 239.2.11.71

  port = 8649

  ttl = 1

}

/* You can specify as many udp_recv_channels as you like as well. */

udp_recv_channel {

  mcast_join = 239.2.11.71

  port = 8649

  bind = 239.2.11.71

  retry_bind = true

  # Size of the UDP buffer. If you are handling lots of metrics you really

  # should bump it up to e.g. 10MB or even higher.

  # buffer = 10485760

}

/* You can specify as many tcp_accept_channels as you like to share

   an xml description of the state of the cluster */

tcp_accept_channel {

  port = 8649

  # If you want to gzip XML output

  gzip_output = no

}

/* Channel to receive sFlow datagrams */

#udp_recv_channel {

#  port = 6343

#}

配置unicast  (在配置接收信息的时候 ,udp_recv_channel 配置端口就可以了)

udp server

udp_recv_channel {

  port = 8649

}

udp client

udp_send_channel {

  host = xxx.xxx.xxx.xxx

  port = 8649

  ttl = 1

}

mod_python 配置

拷贝配置

cp ganglia-3.6.0/gmond/python_modules/process/procstat.py /usr/local/ganglia-3.6.0/lib64/ganglia/python_modules/

cp ganglia-3.6.0/gmond/python_modules/conf.d/procstat.pyconf  /usr/local/ganglia-3.6.0/etc/conf.d/

编辑 procstat.pyconf 配置文件 详细配置可以参考procstat.py 源代码

备注:

一 rrd 路径需要在web配置文件中配置

二 ganglia 多播问题

1、安装客户端完了以后,启动gmond失败:

可以用$gmond -d1 显示错误信息

Error creating multicast server mcast_join=239.2.11.71 port=8649 mcast_if=NULL family=’inet4′. Exiting.

办法如下:

$/sbin/route add -host 239.2.11.71 dev eth0(这个是与服务器端相连的网卡,server端也要修改)

可以把这句添加在/etc/rc.d/rc.local里面,让它每次启动时执行

239.2.11.71 是gmond.conf里的默认多播地址

然后启动gmond 就OK了

2、似乎ganglia不支持mesh结构,通过与server连的IP获取client地址;

3、ganglia各节点机器名由hosts文件中的配置决定。

三 ganglia 不能获取主机信息

    问题描述:某些节点用pssh 启动gmond后不能获取主机信息

    问题处理: 用ssh 登陆后启动gmond问题解决

四 ganglia 启动gmond后有些主机指标无法收集

    问题描述: 启动主机后部分主机指标显示无法收集

    问题处理: ganglia中需要所有监控主机时间一致才能获取指标信息.故配置ntp后问题解决.

来源URL:http://cache.baiducontent.com/c?m=9f65cb4a8c8507ed4fece7631046893b4c4380146d96864968d4e414c42246064c6de8b03a715042889422301cf91e1ab9ab68332a0026b49dcb8d40d6afd7756fde28347117914062c419d8dc4755c137912afeaf6ef0bb803190b9d3a3c85424dd52757f83&p=c074c54ad6c043ec0be2962449059d&newp=85769a4783934eaf5befcd295a5080231610db2151d4d0172a&user=baidu&fm=sc&query=239%2E2%2E11%2E71&qid=b4e8b4550000c4d2&p1=2