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页面]

安装四个依赖库zlib、freetype、libart_lgpl、libpng(必须要安装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支持,可以是apache或nginx;

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中的debug有0改为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程序,这里假定apache的root路径在/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服务器即可

-->枪声依旧<--

Linux下Ganglia集群监控安装、配置笔记的更多相关文章

  1. 原创:centos7.1下 ZooKeeper 集群安装配置+Python实战范例

    centos7.1下 ZooKeeper 集群安装配置+Python实战范例 下载:http://apache.fayea.com/zookeeper/zookeeper-3.4.9/zookeepe ...

  2. Linux下zookeeper集群搭建

    Linux下zookeeper集群搭建 部署前准备 下载zookeeper的安装包 http://zookeeper.apache.org/releases.html 我下载的版本是zookeeper ...

  3. (Linux环境Kafka集群安装配置及常用命令

    Linux环境Kafka集群安装配置及常用命令 Kafka 消息队列内部实现原理 Kafka架构 一.下载Kafka安装包 二.Kafka安装包的解压 三.设置环境变量 四.配置kafka文件 4.1 ...

  4. (转)linux下weblogic12c集群的安装部署

    本文介绍linux下weblogic12c集群的安装部署,版本12c,其他版本操作会有所不同,但其大体操作基本都是一样的 关于weblogic的集群,在此就不多做介绍了,如果有不了解的朋友可以百度搜索 ...

  5. Linux下Hadoop集群环境的安装配置

    1)安装Ubuntu或其他Linux系统: a)为减少错误,集群中的主机最好安装同一版本的Linux系统,我的是Ubuntu12.04. b)每个主机的登陆用户名也最好都一样,比如都是hadoop,不 ...

  6. Linux 下Redis集群安装部署及使用详解(在线和离线两种安装+相关错误解决方案)

    一.应用场景介绍 本文主要是介绍Redis集群在Linux环境下的安装讲解,其中主要包括在联网的Linux环境和脱机的Linux环境下是如何安装的.因为大多数时候,公司的生产环境是在内网环境下,无外网 ...

  7. Nginx --Windows下和Linux下搭建集群小记

    nginx: Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器 特点: 反向代理 负载均衡 动静分离... 反向代理 : 先来了解正向代理:需要我们用户 ...

  8. linux 下nginx 集群CAS单点登录实现

    1.单点登录服务器CAS应用配置于tomcat下. 1)key生成: keytool -genkey -alias mycas -keyalg RSA -keysize 2048 -keystore ...

  9. Linux下solr集群搭建

    第一步:创建四个tomcat实例.每个tomcat运行在不同的端口.8180.8280.8380.8480 第二步:部署solr的war包.把单机版的solr工程复制到集群中的tomcat中. 第三步 ...

随机推荐

  1. 微信小程序 使用环信聊天工具

    当时做微信小程序环信的时候,没有遇到太多的问题,因为找到了一个例子,有兴趣的朋友可以把这个包下载下来看一下,写的超级的号,使用起来也特别简单,appkey需要自己配置,从环信官网https://con ...

  2. 『MXNet』第十一弹_符号式编程初探

    一.符号分类 符号对我们想要进行的计算进行了描述, 下图展示了符号如何对计算进行描述. 我们定义了符号变量A, 符号变量B, 生成了符号变量C, 其中, A, B为参数节点, C为内部节点! mxne ...

  3. spring boot(十六)使用Jenkins部署spring boot

    jenkins是devops神器,本篇文章介绍如何安装和使用jenkins部署Spring Boot项目 jenkins搭建 部署分为三个步骤: 第一步,jenkins安装 第二步,插件安装和配置 第 ...

  4. HDU-2586-裸LCA入门-tarjan离线

    http://acm.hdu.edu.cn/showproblem.php?pid=2586 给出一颗树和边权,询问两点距离. 考虑tarjan离线做法,做法很巧妙,当前进行到u,对他的儿子v,当v子 ...

  5. Jaxb 完全手册

    Jaxb是JavaEE的规范.全称Java Architecture for XML Binding. 可以根据XML Schema产生Java类的技术.JAXB也提供了将XML实例文档反向生成Jav ...

  6. docker 系列之 配置阿里云镜像加速器

    1.登录阿里云 2.登录后找到右上角的“管理中心”,点击进入后>点击“镜像加速器”;剩下的安装文档配置就好 问题1:配置完后还是提示:Tag latest not found in reposi ...

  7. 六、持久层框架(Hibernate)

    一.乐观锁 Hibernate使用乐观锁来处理脏数据问题. 比如有这样一个制造脏数据的场景: 1.通过session1得到id=1的对象product1 2.在product1原来的价格基础上增加10 ...

  8. jeasyUI DataGrid 根据屏幕宽度自适应, 改变右侧滚动条Size

    PC浏览器的Datagrid可以显示多几列,但是在手机浏览器时,只能有选择性的显示前几列. $(window).resize(function () { if (document.body.clien ...

  9. spring boot整合shiro后,部分注解(Cache缓存、Transaction事务等)失效的问题

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/elonpage/article/details/78965176 前言 整合有缓存.事务的sprin ...

  10. POJ 2243 Knight Moves(BFS)

    POJ 2243 Knight Moves A friend of you is doing research on the Traveling Knight Problem (TKP) where ...