zoukankan      html  css  js  c++  java
  • Linux下Ganglia集群监控安装、配置笔记

    http://www.blogjava.net/henry14/archive/2011/12/17/ganglia.html

    Linux下Ganglia集群监控安装、配置笔记

    Ganglia是一个跨平台可扩展的分布式监控系统,用来监控系统性能,如:cpu 、内存、硬盘利用率, I/O负载、网络流量情况等,通过曲线很容易见到每个节点的工作状态,通过长期监测系统运行状况可以对合理调整、分配系统资源提供参考。

     第一部分:软件安装

    安装环境说明

    系统版本:

    Linux 2.6.18-164.el5 #1 x86_64 GNU/Linux

    依赖软件版本:

    expat-2.0.1.tar.gz[解析xml]

    apr-1.4.5.tar.gz[可移植运行库]

    apr-util-1.3.12.tar.gz[不知道能干什么?]

    confuse-2.6.tar.gz[配置文件解析]

    rrdtool-1.2.27.tar.gz[画图用]

    ganglia-3.2.0.tar.gz[监控软件,包括服务端、客户端和web页面]

     

    安装四个依赖库zlibfreetypelibart_lgpllibpng必须要安装develop版本:

    步骤:

    rpm -qa | grep zlib 检查是否有zlib-devel版本

    yum install zlib-devel 自动检查安装

    其它三个依赖库也用相同的方法处理即可 


    安装画图工具
    rrdtools:

    下载地址:http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.2.27.tar.gz

    安装:

    tar zxvf rrdtool-1.2.27.tar.gz

    cd rrdtool-1.2.27

    ./configure --prefix=/usr/local/rrdtool

    make

    make install

    执行以下命令检查是否安装成功

    /usr/local/rrdtool/bin/rrdtool


    安装expat:

    下载地址:http://downloads.sourceforge.net/expat/expat-2.0.1.tar.gz

    tar zxvf expat-2.0.1.tar.gz

    cd expat-2.0.1

    ./configure –prefix=/usr/local/expat

    make

    make install

    复制lib包下的内容到lib64目录下:

    mkdir /usr/local/expat/lib64

    cp -a /usr/local/expat/lib/* /usr/local/expat/lib64/


    安装apr以及apr-util:

    下载地址:http://labs.renren.com/apache-mirror/apr/apr-1.4.5.tar.gz

    tar xvjf apr-1.3.2.tar.bz2

    ./configure --prefix=/usr/local/apr

    make

    make install

    下载地址:http://labs.renren.com/apache-mirror/apr/apr-util-1.3.12.tar.gz

    tar xvjf apr-util-1.3.2.tar.bz2

    ./configure  --with-apr=/usr/local/apr --with-expat=/usr/local/expat

    make

    make install

    复制lib包下的内容到lib64目录下:

    cp -f /usr/local/apr/include/apr-1/* /usr/local/apr/include/

    mkdir -p /usr/local/apr/lib64

    cp -a -f /usr/local/apr/lib/* /usr/local/apr/lib64/

     

    安装confuse:

    下载地址:http://download.savannah.gnu.org/releases/confuse/confuse-2.7.tar.gz

    tar zxvf confuse-2.6.tar.gz

    ./configure CFLAGS=-fPIC  --disable-nls --prefix=/usr/local/confuse

    make

    make install

    复制lib包下的内容到lib64目录下:

    mkdir -p /usr/local/confuse/lib64

    /bin/cp -a -f /usr/local/confuse/lib/* /usr/local/confuse/lib64/

     

    安装ganglia:

    tar zxvf ganglia-3.2.0.tar.gz

    cd ganglia-3.2.0

    ./configure --prefix=/usr/local/ganglia --with-librrd=/usr/local/rrdtool --with-libapr=/usr/local/apr --with-libexpat=/usr/local/expat --with-libconfuse=/usr/local/confuse --with-gmetad --enable-gexec --enable-status --sysconfdir=/etc/ganglia

    make

    make install

     

    其他:

    1.     ganglia监控前台需要有web server支持,可以是apachenginx;

    2.     ganglia监控页面是php写的,还需要安装php环境;

    3.     如果需要使用python扩展ganglia功能,最好先把python版本更新到2.6以上.

     第二部分:环境配置

    服务端配置:[假设当前所在目录为ganglia-3.2.0.tar.gz解压后的目录ganglia-3.2.0]

    1.     创建rrdtool数据目录:

    查看ganglia-3.2.0/web/conf.php里面的gmetad_root变量值,根据这个值创建目录并修改权限:

    mkdir -p /var/lib/ganglia/rrds

    mkdir -p /var/lib/ganglia/dwoo

    chown -R nobody:nobody /var/lib/ganglia

    2.     修改服务进程的配置文件:

    vim /etc/ganglia/gmetad.conf

    data_source "cluster_name" localhost [添加一个数据源名称(集群),客户端的配置中会用到此名称]

    setuid_username "nobody"[运行的用户]

    3.     添加自启动脚本

    cp -f ganglia-3.2.0/gmetad/gmetad.init  /etc/init.d/gmetad

    cp -f /usr/local/ganglia/sbin/gmetad  /usr/sbin/gmetad

    chkconfig --add gmetad

    4.     启动gmetad服务

    service gmetad start

    看见Starting GANGLIA gmetad: [ OK ]就代表运行正常了。

    客户端配置:

    1.     添加启动脚本

    cp -f ganglia-3.2.0/gmond/gmond.init  /etc/init.d/gmond

    cp -f /usr/local/ganglia/sbin/gmond  /usr/sbin/gmond

    chkconfig -add gmond

    gmond --default_config > /etc/ganglia/gmond.conf

    2.     对于生成的默认配置文件需要做适当的修改

    cluster {

        name="cluster_name"#修改成服务进程里指定的集群名称

        owner="nobody"#运行的用户

        latlong="unspecified"

        url="unspecified"

    }

    3.     开启服务

    service gmond start

    看见Starting GANGLIA gmetad: [ OK ]代表启动成功。

    如果失败可以讲gmond.conf中的debug0改为100,查看更多的日志然后进行排查。

     

    非当前机器的客户端配置只需要将本地机器安装好的lib64下的文件复制过来即可,参考下面的脚本:
    servers=("server_ip_1" "server_ip_2")
    for i in ${servers[@]}
    do

    scp /usr/sbin/gmond $i:/usr/sbin/gmond

    ssh $i mkdir -p /etc/ganglia/

    ssh $i mkdir -p /usr/local/ganglia/lib64

    ssh $i mkdir -p /usr/local/expat/lib

    scp /etc/ganglia/gmond.conf $i:/etc/ganglia/

    scp /etc/init.d/gmond $i:/etc/init.d/

    scp -r /usr/local/ganglia/lib64/* $i:/usr/local/ganglia/lib64/

    scp /usr/local/expat/lib/libexpat.so.1 $i:/usr/local/expat/lib/libexpat.so.1

    scp /usr/lib64/libapr-1.so.0 $i:/usr/lib64/
    done

    主要需要修改的配置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#注释掉这一行

      host=xx.xx.xx.xx #集群中心节点的IP,也就是gmetad进程所在的机器,当前节点把数据发送到这个IP

      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 = xx.xx.xx.xx#在监控页面显示这个IP(当前机器)

    }

    WEB程序配置:

    apache来运行php,需要以下依赖:php-common php-cli php php-gd httpd

    nginx来运行php,需要安装php-fpm

    安装web程序这里假定apacheroot路径在/var/www/html下面。

    mkdir /var/www/html/ganglia

    cp -a -f ganglia-3.2.0/web/* /var/www/html/ganglia

    修改rrdtool的路径文件/var/www/html/ganglia/conf.php中的RRDTOOL

    define("RRDTOOL", "/usr/local/rrdtool/bin/rrdtool");

    重启apache服务器即可


    -->枪声依旧<--

  • 相关阅读:
    禁止使用U盘和移动硬盘
    Linux下Red5安装和配置
    ORACLE 10g下载地址
    常挂在美国人嘴边的最酷口语
    关于oracle中spfile和pfile的一个实验
    nginx搭建流媒体服务器
    powerDesigner 把name项添加到注释(comment),完美方案!
    memcached全面剖析–PDF总结篇
    PD 导出SQL语句
    本地读取虚拟机系统中的资源
  • 原文地址:https://www.cnblogs.com/zhanghang-BadCoder/p/6476458.html
Copyright © 2011-2022 走看看