Ganglia是一个监控服务器,集群的开源软件,能够用曲线图表现最近一个小时,最近一天,最近一周,最近一月,最近一年的服务器或者集群的cpu负载,内存,网络,硬盘等指标。

Ganglia的强大在于:ganglia服务端能够通过一台客户端收集到同一个网段的所有客户端的数据,ganglia集群服务端能够通过一台服务端收集到它下属的所有客户端数据。这个体系设计表示一台服务器能够通过不同的分层能够管理上万台机器。这个功能是其他mrtg,nagios,cacti所不能比拟。

Ganglia的扩展插件非常好写,无论用何种语言(shell,php,pyton)都可以写,只要把最终结果传给gmetric就可以,这样在web上就可以看到对应的数据。

0.  准备

最新的ganglia版本为3.2.0,但是我推荐安装ganglia3.0.3,因为这个版本安装比较简单,依赖包只有rrdtool。而新版本依赖包太多。

官方网站:http://ganglia.info

ganglia的下载地址 http://sourceforge.net/projects/ganglia

windows版windows客户端版和ganglia 源包:

http://www.sajinet.com.pe/ganglia/

http://sourceforge.net/project/showfiles.php?group_id=43021&package_id=35280
ganglia的安装分为服务端和客户端和web端安装

文档帮助: http://ganglia.sourceforge.net/docs/

1)     服务端依赖包

Ganglia里的gmetad

Rrdtool(这个依赖很多包,ganglia对于rrdtool的版本不敏感,最好选择比较好安装的版本安装)

2)     客户端
ganglia里的gmond

3)     Web端:

Apache,php,rrdtool,php-gd(可不用装,不装的话只是看不到一张饼图,不影响使用)

1.服务端安装 (gmetad)

服务端的服务为gmetad,安装前需要先安装RRDTool(数据库和绘图工具,服务端收集的客户端信息由其来保存),因为要绘制曲线图,所以安装RRDTool前,还必须安装好libpng,freetype,zlib这些库(也是php的gd库需要的),下载地址http://www.rrdtool.org/ 。

安装完了RRDTool,就可以安装gmetad了

 tar –zxvf ganglia3.0.3.tar.gz
cd ganglia3.0.3
./configure CFLAGS="-I/usr/local/rrdtool-1.0.50/include" CPPFLAGS="-I/usr/local/rrdtool-1.0.50/include" LDFLAGS="-L/usr/local/rrdtool-1.0.50/lib" --with-gmetad --enable-gexec
make
make install

将gmetad.init文件拷贝到 /etc/init.d/:

 cd ganglia-3.0./gmetad
cp gmetad.init /etc/init.d/gmetad #若是ganglia安装在别的目录,则修改gmetad.init里的gmetad路径
cp gmetad.conf /etc/gmetad.conf
chkconfig gmetad on
chkconfig --list gmetad
GMETAD :off :off :on :on :on :on :off

创建rrd数据存储的文件夹, 修改属性拥有者为: "nobody":

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

 

启动gmetad:

service gmetad start Starting GANGLIA gmetad: [ OK ]

 

修改 /etc/gmetad.conf文件:

 data_source "taskcenter" 1.2.3.4 #所要监控的客户端 可以写多个
setuid_username "root" #可改为其他安全用户
# default: "/var/lib/ganglia/rrds" #定义该客户端的数据保存的路径
# rrd_rootdir "/some/other/place"
rrd_rootdir "/var/lib/ganglia/rrds"

重新启动gmetad:

service gmetad start Starting GANGLIA gmetad: [ OK ]

 

验证gmetad正常工作:

telnet localhost

 

就可以得到监控的各个主机的状态。

2.安装客户端gmond2.1 linux版

在每台需要监控的机器上,安装gmond

安装ganglia:

 tar zxvf ganglia-3.0..tar.gz
cd ganglia-3.0.
./configure --prefix=/usr/local/ganglia
make;
make install
cd gmond
./gmond –t > /etc/gmond.conf
 vi gmond.init
修改里面的GMOND 改为GMOND=/usr/local/ganglia/sbin/gmond
# cp gmond.init /etc/init.d/gmond
# chkconfig --add gmond
# chkconfig --list gmond
gmond :off :off :on :on :on :on :off
# service gmond start
Starting GANGLIA gmond: [ OK ] #若不成功的话,就用/usr/local/ganglia/sbin/gmond手动启动

启动失败有可能是因为多播地址没有路由

route add -host 239.2.11.71 dev eth0

 

验证gmond正常工作:

telnet localhost

 

就可以获取机群内运行gmond的主机的信息

vi /etc/gmond.conf

配置gmond.conf:

 /etc/gmond.conf:
globals
{
setuid = no
user = nobody
cleanup_threshold = /*secs */
}
#修改监控组名称
cluster
{
name = "taskcenter"
.......}

配置完成后重新启动gmond

2.2 window版

下载:http://www.sajinet.com.pe/ganglia/ganglia-3.1.0-bin.zip

解压后,运行gmond.bat

测试:telnet 127.0.0.1 8649

安装自启动:把gmond.bat加到启动项中

3.web端安装

web端用于通过web来查看监控状态。
因为web端程序是php写的,所以需要安装apache。同时需要编译php的gd库。web端需要和服务器端在一块。

# cp -a ganglia-3.0.3/web /var/www/html/ganglia

确定web server支持PHP4

对apache来说,php模块mod_php的状态应该是enabled,貌似默认就是的^_^

配制文件是/var/www/html/ganglia/conf.php

 # Where gmetad stores the rrd archives.
$gmetad_root = "/var/lib/ganglia";
$rrds = "/usr/local/rrdtool-1.0.50/"; #数据源路径
# Leave this alone if rrdtool is installed in $gmetad_root,
# otherwise, change it if it is installed elsewhere (like /usr/bin)
define("RRDTOOL", "/usr/local/rrdtool-1.0.50/bin/rrdtool"); # rrdtool执行路径
#
# If you want to grab data from a different ganglia source specify it here.
# Although, it would be strange to alter the IP since the Round-Robin
# databases need to be local to be read.
#
$ganglia_ip = "localhost";
$ganglia_port = ;
#$ganglia_port = ;

在浏览器地址栏输入http://localhost/ganglia/应该可以看到有页面显示了。

演示地址 伯克利大学的集群监控(1000多台服务器):

http://monitor.millennium.berkeley.edu/

访问web出现图片画不出来的原因:

1)     rrdtool没有安装,或者conf.php里没有配置

2)     gemtad没有启动

3)     没有客户端数据

4)     Selinux限制apache执行rrdtool

另外ganglia还有很多插件可以监控更多的指标

其中有一个插件,安装后可以查看任意时间的曲线图

开源监控软件ganglia安装手册的更多相关文章

  1. 开源监控软件ganglia

    开源监控软件ganglia安装手册 Ganglia是一个监控服务器,集群的开源软件,能够用曲线图表现最近一个小时,最近一天,最近一周,最近一月,最近一年的服务器或者集群的cpu负载,内存,网络,硬盘等 ...

  2. 常用开源<监控软件>介绍

    转载地址:http://blog.csdn.net/lx_9986/article/details/6803243 一.Zenoss Core Zenoss Core是开源企业级IT管理软件-是智能监 ...

  3. 小米开源监控系统Open-Falcon安装使用笔记

    小米开源监控系统Open-Falcon安装使用笔记-BB保你大-51CTO博客 https://blog.51cto.com/chenguomin/1865550

  4. 第2节 storm路由器项目开发:8 - 9、集群监控软件ganglia的安装和使用

    Ganglia监控Hadoop集群的安装部署 详情请参见 http://boendev.iteye.com/blog/1750615 一. 安装环境 CentOS6.5x86_64 安装gmetad的 ...

  5. 采用RedisLive监控Redis服务——安装手册

    #1.gcc编译环境确认 .tgz cd Python- ./configure /bin/python2. /usr/bin/python #运行python查看版本 python -V #进行更改 ...

  6. 监控软件munin安装设置

    准备工作需要web环境需要设置epel源 wget -P /etc/yum.repos.d/ http://mirrors.aliyun.com/repo/epel-6.repo 服务器端安装设置 y ...

  7. 开源备份软件bacula安装记录--包括备份-恢复演练

    该公司原先使用的备用机oracle-linux 5.7 不是很稳定执行.经常死机,新安装centos6.5, 即用bacula要备份的数据.在这里,有关安装故障记录,MEMO. 操作系统:centos ...

  8. 采用JavaMelody监控Tomcat服务——安装手册

    #1.获取安装包 .zip mv probe.war <tomcat dir>/webapps #3.设置tomcat用户信息 vi <tomcat dir>/conf/tom ...

  9. OMD开源监控软件

    参考 Best Monitoring Solution - OMD (Nagios + Check_MK) 官网 mathias-kettner.com OMD labs.consol.de Conf ...

随机推荐

  1. 对百度的UEditor多图片上传的一些补充

    我已经写了一篇文章关于百度的UEditor提取多图片上传模块.如果还没有看过,请点击以下链接查看 http://www.cnblogs.com/luke1006/p/3719029.html 出差了两 ...

  2. Python学习--03变量类型

    变量赋值 Python中的变量不需要声明,变量的赋值操作既是变量声明和定义的过程. 每个变量在内存中创建,都包括变量的标识,名称和数据这些信息. 每个变量在使用前都必须赋值,变量赋值以后该变量才会被创 ...

  3. Vue ES6 Jade Scss Webpack Gulp

    一直以来非常庆幸曾经有翻过<代码大全2>:这使我崎岖编程之路少了很多不必要的坎坷.它在软件工艺的话题中有写到一篇:"首先是为人写程序,其次才是机器(Write Programs ...

  4. 解析大型.NET ERP系统 多国语言实现

    实现多国语言有许多种实现方案,无外乎是一种字符串替换技术,将界面控件的文本标签替换成相应语言的文字..NET Windows Forms实现多国语言的方法有以下几种: 1 .NET的方案,使用资源文件 ...

  5. JS中 call() 与apply 方法

    1.方法定义 call方法: 语法:call([thisObj[,arg1[, arg2[,   [,.argN]]]]]) 定义:调用一个对象的一个方法,以另一个对象替换当前对象. 说明: call ...

  6. console.log("A"-"B"+"3")=?

    (点击上方的订阅号,可快速关注,关注有惊喜哦^_^) 前不久看到一道JS基础题目,做了一下竟然错了一半...在此分享一下: 先把题目放上来,大家可以自己测试一下再看答案哦^_^ ①console.lo ...

  7. JS去重及字符串奇数位小写转大写

    面试中经常会考到数组的去重.作为一名合格的前端开发者,不知道几种去重方法是在不应该.废话不多说直接开撸-- 一.indexOf()方法 实现思路:使用indexOf()方法来判断新数组中是否有这个值, ...

  8. Python(八)进程、线程、协程篇

    本章内容: 线程(线程锁.threading.Event.queue 队列.生产者消费者模型.自定义线程池) 进程(数据共享.进程池) 协程 线程 Threading用于提供线程相关的操作.线程是应用 ...

  9. 自己手写的自动完成js类

    在web开发中,为了提高用户体验,会经常用到输入框的自动完成功能,不仅帮助用户进行快速输入,最重要的是帮助那些“记不全要输入什么”的用户进行选择.这个功能有很多插件已经实现了,为了适应项目的特殊需求, ...

  10. [占位-未完成]scikit-learn一般实例之十:核岭回归和SVR的比较

    [占位-未完成]scikit-learn一般实例之十:核岭回归和SVR的比较