`
zhengdl126
  • 浏览: 2542684 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类

集群监视项目Ganglia

阅读更多

 


 ===============ab测试异常效果截图

 

 



 

 


 

 

 


 

 

 

 


 

 

 

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

  每台计算机都运行一个收集和发送度量数据的名为 gmond 的守护进程。接收所有度量数据的主机可以显示这些数据并且可以将这些数据的精简表单传递到层次结构中。正因为有这种层次结构模式,才使得 Ganglia 可以实现良好的扩展。gmond 带来的系统负载非常少,这使得它成为在集群中各台计算机上运行的一段代码,而不会影响用户性能。所有这些数据多次收集会影响节点性能。网络中的 “抖动”发生在大量小消息同时出现时,可以通过将节点时钟保持一致,来避免这个问题。  gmetad可以部署在集群内任一台节点或者通过网络连接到集群的独立主机,它通过单播路由的方式与gmond通信,收集区域内节点的状态信息,并以XML数据的形式,保存在数据库中。  由RRDTool工具处理数据,并生成相应的的图形显示,以Web方式直观的提供给客户端。

 

 

 

=================服务器端安装 129

yum -y install apr-devel apr-util check-devel cairo-devel pango-devel libxml2-devel rpmbuild
yum -y install glib2-devel dbus-devel freetype-devel fontconfig-devel gcc-c++
yum -y install expat-devel python-devel libXrender-devel


2.由于rpmbuild用不了,用自己的包来安装,安装rpmbuild的过程
#head -n 1 /etc/issue
CentOS release 5.4 (Final)

http://mirror.centos.org/
http://mirrors.163.com/
http://mirrors.163.com/centos/5/os/i386/CentOS/


[root@localhost SPECS]# rpm -ivh http://mirrors.163.com/centos/5/os/i386/CentOS/elfutils-devel-0.137-3.el5.i386.rpm
error: Failed dependencies:
        elfutils-devel-static = 0.125-3.el5 is needed by elfutils-devel-0.125-3.el5.i386
        elfutils-libelf-devel = 0.125-3.el5 is needed by elfutils-devel-0.125-3.el5.i386
        elfutils-libs = 0.125-3.el5 is needed by elfutils-devel-0.125-3.el5.i386
        libdw.so.1 is needed by elfutils-devel-0.125-3.el5.i386
--1
[root@localhost SPECS]# rpm -ivh http://mirrors.163.com/centos/5/os/i386/CentOS/elfutils-libs-0.137-3.el5.i386.rpm   
Preparing...                ########################################### [100%]
   1:elfutils-libs          ########################################### [100%]
--2
[root@localhost SPECS]# rpm -ivh http://mirrors.163.com/centos/5/os/i386/CentOS/elfutils-libelf-0.137-3.el5.i386.rpm
Preparing...                ########################################### [100%]
        package elfutils-libelf-0.125-3.el5 is already installed
--3
[root@localhost SPECS]# rpm -ivh http://mirrors.163.com/centos/5/os/i386/CentOS/elfutils-devel-static-0.137-3.el5.i386.rpm
error: Failed dependencies:
        elfutils-devel = 0.125-3.el5 is needed by elfutils-devel-static-0.125-3.el5.i386
        elfutils-libelf-devel-static = 0.125-3.el5 is needed by elfutils-devel-static-0.125-3.el5.i386
--4
[root@localhost SPECS]# rpm -ivh http://mirrors.163.com/centos/5/os/i386/CentOS/elfutils-libelf-devel-static-0.137-3.el5.i386.rpm
error: Failed dependencies:
        elfutils-libelf-devel = 0.125-3.el5 is needed by elfutils-libelf-devel-static-0.125-3.el5.i386
--5,我觉得这个是重要的了!
[root@localhost SPECS]# rpm -ivh http://mirrors.163.com/centos/5/os/i386/CentOS/elfutils-0.137-3.el5.i386.rpm
Preparing...                ########################################### [100%]
   1:elfutils               ########################################### [100%]
--6
[root@localhost SPECS]# rpm -ivh http://mirrors.163.com/centos/5/os/i386/CentOS/elfutils-libelf-devel-0.137-3.el5.i386.rpm
error: Failed dependencies:
        elfutils-libelf-devel-static = 0.125-3.el5 is needed by elfutils-libelf-devel-0.125-3.el5.i386


--安装成功3个……


--再安装rpm-build
[root@localhost SPECS]# rpm -ivh http://mirrors.163.com/centos/5/os/i386/CentOS/rpm-build-4.4.2.3-18.el5.i386.rpm
Preparing...                ########################################### [100%]
   1:rpm-build              ########################################### [100%]
--居然就这样成功了……


wget http://download.fedora.redhat.com/pub/epel/5/i386/libconfuse-2.5-4.el5.i386.rpm
rpm -ivh libconfuse-2.5-4.el5.i386.rpm
wget
http://download.fedora.redhat.com/pub/epel/5/i386/libconfuse-devel-2.5-4.el5.i386.rpm
rpm -ivh libconfuse-devel-2.5-4.el5.i386.rpm

 

--------- 不需要

wget http://ga13.files.bigpond.com:4040/fedora/linux/releases/9/Everything/source/SRPMS/libconfuse-2.6-1.fc9.src.rpm

rpmbuild --rebuild libconfuse-2.6-1.fc9.src.rpm
cd /usr/src/redhat/RPMS/x86_64/
rpm -ivh libconfuse-devel-2.6-1.x86_64.rpm libconfuse-2.6-1.x86_64.rpm
记住,镜像经常变化。如果此镜像不工作,则使用搜索引擎查找 libconfuse-2.6.-1.fc9 source RPM。
-----------

 


RRDTool

RRDTool 表示:轮循数据库工具(Round Robin Database Tool)。它是由 Tobias Oetiker 创建的,并且为许
多高性能监视工具提供了引擎。Ganglia 是其中之一,但是 Cacti 和 Zenoss 是另外两个。

要安装 Ganglia,首先需要让 RRDTool 运行在监视服务器上。RRDTool 将提供其他程序使用的两个非常优秀的
功能:

它将在轮循数据库中存储数据。随着捕捉的数据变得越来越旧,解析的精确性将变得越来越低。这将占用很少的
内存并且在大多数情况下仍然有用。
它可以通过使用命令行实参根据捕捉的数据生成图形。
要安装 RRDTool,请运行以下代码(对 1.3.4 版和 1.3.6 版进行了测试):

cd /tmp/
wget
http://oss.oetiker.ch/rrdtool/pub/rrdtool.tar.gz
tar zxvf rrdtool*
cd rrdtool-*
./configure --prefix=/usr
make -j8
make install
which rrdtool
ldconfig

 


------主要 Ganglia 安装
http://ganglia.sourceforge.net
wget http://sourceforge.net/projects/ganglia/files/ganglia%20monitoring%20core/3.1.7/ganglia-3.1.7.tar.gz/download
现在已满足所有先决条件,您可以安装 Ganglia。首先需要获得它。在本文中,
我们使用的是 Ganglia 3.1.1。下载 ganglia-3.1.2.tar.gz 文件并将其放在监视服务器的 /tmp 目录中。
然后执行以下代:

cd /tmp/
tar zxvf ganglia*gz
cd ganglia-3.1.2/
./configure --with-gmetad --sysconfdir=/etc/ganglia
make -j8
make install


您应当会退出,而不会遇到任何错误。如果看到错误,则可能需要检查缺少哪些库。


配置 Ganglia

现在基本安装已完成,需要设置几个配置项才能运行。执行以下步骤:

处理命令行文件。
修改 /etc/ganglia/gmond.conf。
注意多宿主(multi-homed)计算机。
在管理服务器中启动它。
步骤 1:处理命令行文件

如下所示:

cd /tmp/ganglia-3.1.2/   # you should already be in this directory
mkdir -p /data0/htdocs/ganglia/  # make sure you have apache installed
cp -a web/* /data0/htdocs/ganglia/   # this is the web interface
cp gmetad/gmetad.init /etc/rc.d/init.d/gmetad  # startup script
cp gmond/gmond.init /etc/rc.d/init.d/gmond
#####mkdir /etc/ganglia  # where config files go
gmond -t | tee /etc/ganglia/gmond.conf  # generate initial gmond config
cp gmetad/gmetad.conf /etc/ganglia/  # initial gmetad configuration
mkdir -p /var/lib/ganglia/rrds  # place where RRDTool graphs will be stored
chown nobody:nobody /var/lib/ganglia/rrds  # make sure RRDTool can write here.
chkconfig --add gmetad  # make sure gmetad starts up at boot time
chkconfig --add gmond # make sure gmond starts up at boot time

 

#vim /etc/ganglia/gmetad.conf
data_source  增加客户端的ip和端口

#监控客户端192.168.93.131
data_source "my cluster" 192.168.93.131:8649
tcp_accept_channel {
  port = 8649
  acl {
  default = "deny"
  access {
    ip = 192.168.93.129
    mask = 32
    action = "allow"
    }
  }
}

 

步骤 2:修改 /etc/ganglia/gmond.conf

现在可以修改 /etc/ganglia/gmond.conf 以命名集群。假定集群名称为 “matlock”;
则可以将 name = "unspecified" 更改为 name = "matlock"。


步骤 4:在管理服务器中启动它

现在您可以在监视服务器中完全启动它:

service gmond start
service gmetad start
 

 

 

 


=====================================客户端安装 131

yum -y install apr-devel apr-util check-devel cairo-devel pango-devel libxml2-devel rpmbuild
yum -y install glib2-devel dbus-devel freetype-devel fontconfig-devel gcc-c++
yum -y install expat-devel python-devel libXrender-devel

 

wget http://web.mit.edu/~thefred/MacData/afs/dev/system/rhlinux/fedora-7-updates/RPMS/ganglia-gmond-3.0.5-1.fc7.i386.rpm
rpm -ivh ganglia-gmond-3.0.5-1.fc7.i386.rpm

 

------------------------------------- vim /etc/gmond.conf

cluster {
  name = "matlock"
  owner = "unspecified"
  latlong = "unspecified"
  url = "unspecified"
}


找到tcp_accept_channel 在里面加入服务器的ip地址
tcp_accept_channel {
  port = 8649
  acl {
  default = "deny"
  access {
    ip = 192.168.93.129
    mask = 32
    action = "allow"
    }
  }
}


---------

3、重启客户端服务

chkconfig --add gmond
service gmond retart

 

 

 

 

 

 

 

==================apache认证

 

 
#vim /usr/local/webserver/apache2/conf/httpd.conf

<Directory "/data0/htdocs/slanglia">
   Options None
   AllowOverride None
   Order allow,deny
   Allow from all
   AuthName "Ganglia Access"
   AuthType Basic
   AuthUserFile /tmp/ganglia.passwd
   Require valid-user
</Directory>


首先用htpasswd创建一个密码文件:比如文件名叫做ganglia.passwd
/usr/local/webserver/apache2/bin/htpasswd -c -b /tmp/ganglia.passwd slanglia 111111

如果增加帐号:d
/usr/local/webserver/apache2/bin/htpasswd -b /tmp/ganglia.passwd slanglia 111111

 

 

==================更换端口  

gmond start   8652  ==>86522
gmetad start  8649  ==>86499

 


=========服务器  8652   8649
#vim /etc/ganglia/gmond.conf
 port = 86499


#vim /etc/ganglia/gmetad.conf
interactive_port 86522
把8649改为86499


vim /data0/htdocs/slanglia/conf.php
8652改为86522

=========客户端

vim /etc/gmond.conf
把8649改为86499

 

======= 重启
---客户端
lsof -i:8652
kill -9 **
service gmond start
---服务器
lsof -i:8649
lsof -i:8652
kill -9 **
service gmond start
service gmetad start

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

================其它资料

http://apps.hi.baidu.com/share/detail/6081605

http://linux.chinaunix.net/techdoc/install/2006/05/29/933276.shtml

http://www.linuxdiyf.com/viewarticle.php?id=150014

 

http://linux.chinaunix.net/techdoc/system/2009/08/23/1131690.shtml

http://www.360doc.com/content/10/1022/13/737570_63003007.shtml

http://blog.chinaunix.net/u3/93926/showart_1873057.html


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



wget http://download.fedora.redhat.com/pub/epel/5/i386/libconfuse-2.5-4.el5.i386.rpm
rpm -ivh libconfuse-2.5-4.el5.i386.rpm
wget http://download.fedora.redhat.com/pub/epel/5/i386/libconfuse-devel-2.5-4.el5.i386.rpm
rpm -ivh libconfuse-devel-2.5-4.el5.i386.rpm

 

wget http://download.fedora.redhat.com/pub/epel/5/i386/libconfuse-2.5-4.el5.i386.rpm
rpm -ivh libconfuse-2.5-4.el5.i386.rpm
wget http://download.fedora.redhat.com/pub/epel/5/i386/libconfuse-devel-2.5-4.el5.i386.rpm
rpm -ivh libconfuse-devel-2.5-4.el5.i386.rpm


安装expat-2.0.1.tar.gz
http://sourceforge.net/projects/expat/
wget http://sourceforge.net/projects/expat/files/expat/2.0.1/expat-2.0.1.tar.gz
tar zxvf expat-2.0.1.tar.gz
cd expat-2.0.1
./configure --prefix=/usr/local/expat-2.0.1
make
make install

---------------------------------已安装过 /usr/local/apr  /usr/local/apr-util
2)安装apr-1.3.2.tar.bz2
tar xvjf apr-1.3.2.tar.bz2
cd apr-1.3.2;./configure --prefix=/usr/local/apr-1.3.2;make;make install
3)安装apr-util-1.3.2.tar.bz2
tar xvjf apr-util-1.3.2.tar.bz2
cd apr-util-1.3.2;./configure --with-apr=/usr/local/apr --with-expat=/usr/local/expat(./configure --with-apr=/usr/local/apr-1.3.3 --with-expat=/usr/local/expat-2.0.1)
make;make install
cp /usr/local/apr/include/apr-1/* /usr/local/apr/include/目录,因为ganglia安装时默认会去/usr/local/apr/include下寻找apr的库文件。
 cp /usr/local/apr-1.3.3/include/apr-1/* /usr/local/apr-1.3.3/include/
cp /usr/local/apr/include/apr-1/* /usr/local/apr/include/

--------------------



wget http://down1.chinaunix.net/distfiles/confuse-2.5.tar.gz
tar zxvf confuse-2.5.tar.gz
cd confuse-2.5
./configure --prefix=/usr/local/confuse-2.5
make
make install






http://www.mrtg.org/rrdtool/download.en.html
wget http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.4.4.tar.gz
tar zxvf rrdtool*
cd rrdtool-*
./configure --prefix=/usr/local/rrdtool
make
make install





http://ganglia.info
http://ganglia.sourceforge.net/
wget http://sourceforge.net/projects/ganglia/files/ganglia%20monitoring%20core/3.1.7/ganglia-3.1.7.tar.gz
安装之前用以下命令检查有没有rrd.h和librrd.a文件:
引用
ll /usr/include/rrd.h
ll /usr/lib/librrd.a
如果存在以上两个文件,则继续安装否则使用find命令查找这两个文件,并创建指向这两个文件的软链接
引用
find / -name rrd.h
find / -name librrd.a
比如说你找到的文件在/usr/local/下,则:
引用
ln -s /usr/local/rrd.h /usr/include/rrd.h
ln -s /usr/local/librrd.a /usr/lib/librrd.a

如果安装过程中出现读取相关lib文件读取错误,请在/usr/lib(32os)或/usr/lib64下查找是否存在该lib文件,如果不存在,查找该文件并在/usr/lib(32os)或/usr/lib64创建指向该lib文件的软链接。

tar xvzf ganglia-*
cd ganglia-*
./configure --prefix=/usr/local/ganglia --with-librrd=/usr/local/rrdtool --with-libapr=/usr/local/apr --with-libexpat=/usr/local/expat-2.0.1 --with-libconfuse=/usr/local/confuse-2.5 --with-gmetad --enable-gexec --enable-status
make
make install

-----------------???????????
./configure
checking whether disabling type punning in gcc is possible... yes
Extra checks for 3.1 series...
sysconfdir appears to be the default value
Prior to release 3.1.3, Ganglia ignored the value of sysconfdir
passed to configure and would always use /etc/ganglia
This is considered a bug because the help text from configure
informs the user that the default location is PREFIX/etc
If you wish to continue using /etc/ganglia for gmond.conf and
other configuration files, you must now explicitly specify

  --sysconfdir=/etc/ganglia

If you want to use configure's default value, PREFIX/etc, you
must use the environment variable GANGLIA_ACK_SYSCONFDIR=1:

  GANGLIA_ACK_SYSCONFDIR=1 ./configure ...

otherwise you will see this error message.

When Ganglia 3.2 is released:
 - sysconfdir will use configure's default value, unless specified
 - GANGLIA_ACK_SYSCONFDIR will not be required
 - this error will no longer be displayed

*** configure has failed ***
 - please invoke configure again using one of
   the methods described for determining sysconfdir

[root@localhost ganglia-3.1.7]# make
make: *** No targets specified and no makefile found.  Stop.
--------------------------


改为:(增加 --sysconfdir=/etc/ganglia)

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



--------------------??????????????

scoreboard.c:170: error: 鈍sb_scoreboard?undeclared (first use in this function)
make[2]: *** [scoreboard.lo] Error 1
make[2]: Leaving directory `/data0/software/ganglia-3.1.7/lib'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/data0/software/ganglia-3.1.7'
make: *** [all] Error 2


-----------------------------------

 

 

 

 

  • 大小: 50.5 KB
  • 大小: 74 KB
  • 大小: 195.8 KB
  • 大小: 155.8 KB
  • 大小: 164.8 KB
分享到:
评论

相关推荐

    Ganglia_监视企业集群

    它将在轮循数据库中存储数据。随着捕捉的数据变得越来越旧,解析的精确性将变得越来越低。这将占用很少的内存并且在大多数情况下仍然有用。

    Ganglia集成Nagios组合监视企业集群并设置邮件报警

    Ganglia作为一款最常用的Linux环境中的监控软件,它擅长的的是从节点中按照用户的需求以较低的代价采集数据。但是Ganglia在预警以及发生事件 后通知用户上并不擅长。最新的Ganglia已经有了部分这方面的功能。可我们...

    Ganglia系统监控.pdf

    Ganglia是UC Berkeley发起的一个开源集群监视项目,设计用于测量数以千计的节点。Ganglia的核心包含gmond、gmetad以及一个Web前端。主要是用来监控系统性能,如:cpu 、mem、硬盘利用率, I/O负载、网络流量情况等,...

    ganglia监控软件的笔记

    ### Ganglia监控软件知识点 #### 一、Ganglia简介 Ganglia是一款开源的分布式监控系统,主要用于高性能计算...综上所述,Ganglia因其强大的功能和灵活性,在高性能计算领域内被广泛认为是集群监视的首选工具之一。

    ubuntu系统上安装Ganglia

    Ganglia是一种分布式监控系统,主要用于性能监控,尤其是在大规模集群环境中。它通过收集主机的CPU负载、内存使用情况等信息来帮助管理员了解整个系统的健康状况。本文将详细介绍如何在Ubuntu系统上安装Ganglia,并...

    ganglia-3.7.2

    Ganglia是UC Berkeley发起的一个开源集群监视项目,设计用于测量数以千计的节点。Ganglia的核心包含gmond、gmetad以及一个Web前端。主要是用来监控系统性能,如:cpu 、mem、硬盘利用率, I/O负载、网络流量情况等,...

    ganglia多集群配置文件示例(gmetad与gmond)

    在大型集群环境中,Ganglia是管理和监控的关键工具。本文将深入讲解如何配置Ganglia来监控多个集群,重点分析`gmetad.conf`和`gmond.conf`这两个核心配置文件。 首先,我们要理解Ganglia系统的架构。Ganglia由两...

    metrics-ganglia-2.1.1.zip

    1. **分布式监控**:Ganglia的核心特性,它允许管理员监视大规模集群的性能,包括服务器、应用程序以及网络设备。 2. **数据收集与聚合**:Ganglia通过定期收集每个节点的数据,并在中心节点上进行聚合,生成可读的...

    ganglia监控技术深入分析

    总的来说,Ganglia是一种强大的监控解决方案,适用于需要实时监控大量计算资源的场景,如数据中心、科研集群或大规模分布式计算项目。通过其高效的数据收集、传输和可视化机制,Ganglia能够帮助管理员及时发现并解决...

    CentOS6上安装配置ganglia

    Ganglia是一款强大的开源工具,用于监视高性能计算系统,如集群和网格环境。它采用分层设计,结合XML数据表示、便携式数据传输和RRDtool进行数据存储和可视化,能有效处理大规模的监控任务。 首先,我们来看看安装...

    基于自主计算的集群管理软件的设计与实现-北京航空航天大学网络信息中心

    然而,当时的集群管理系统如Ganglia、Supermon和Hawkeye等虽然具有一定的监控功能,但缺乏全面的自主管理能力。 ACMS(Autonomous Cluster Management Software,自主计算集群管理软件)是该研究的核心成果。ACMS...

    Flume监控之Ganglia

    Ganglia是UC Berkeley发起的一个开源集群监视可视化工具,设计用于测量数以千计的节点。Ganglia的核心包含gmond、gmetad以及一个Web前端。主要是用来监控系统性能,如:cpu 、mem、硬盘利用率, I/O负载、网络流量...

    Ganglia Job Monarch:批处理系统监视和归档-开源

    Ganglia Job Monarch,作为一个开源项目,为这类需求提供了强大的解决方案。这款工具是Ganglia监控系统的一个扩展,专门针对批处理作业的监控和归档功能,旨在为用户提供集群和各种批处理系统的图形化概览,以实现对...

    D-ULP-S尚观云计算及云数据库集群架构师

    8. **系统监控**:运用Ganglia进行分布式实时系统监视,提升运维效率。 9. **日志处理**:学习使用Splunk处理基于索引的日志,优化日志分析和管理。 10. **数据库技术**:重点讲解Oracle 12c云数据库的特性,包括...

    pdsh集群管理

    Ganglia 是加州大学伯克利分校发起的一个开源监视项目,被设计用来测量数以千计的节点。每个节点上运行一个收集和发送度量数据(如处理器速度,内存使用量等)的名为 gmond 的守护进程。它将从操作系统和指定主机中...

    用云存储实现对云计算的监控

    用云存储实现对云计算的监控.大凡集群系统的性能、压力测试,...  Ganglia是UCBerkeley发起的一个开源集群监视项目,包含gmond、gmetad两个服务,以及一个web展示前端。本身部署后就立即可以对cpu、memory、network、d

    HBase - Hannibal:监视和维护HBase配置为手动拆分-开源

    Hannibal是帮助监视和维护配置为手动拆分的HBase集群的工具。 虽然HBase提供了通过JMX或Ganglia监视整个群集运行状况的指标,但它缺乏以简单的方式监视单个区域的能力。 当群集配置为手动拆分时,尤其是当数据增长不...

    大数据运维

    Ambari 主要作用在于创建、管理以及监视 Hadoop 集群及其生态系统的各个组成部分,而不仅仅是 Hadoop 本身。这包括但不限于 HDFS、MapReduce、Hive、Pig、HBase、Zookeeper、Sqoop 和 HCatalog 等。Ambari 的目标是...

    云计算运维系统研究与设计.pdf

    监测系统采用Ganglia体系结构,设计了分布式的监测拓扑和集群环境中的监测策略。为了实现低开销下的高效监测,监测系统进一步编写了自定义模块,并利用Libvirt API实现对云平台虚拟架构层的监视。审计系统实现了基于...

Global site tag (gtag.js) - Google Analytics